0

好的,我正在创建闪存游戏。在这个游戏中,您需要找到 2 张相等的牌并发现它们。这里总共有 36 张卡片 (6x6)。

当它产生时,我有 2 张不同的卡片图像。1.png我需要使用30次,2.png我需要使用6次。示例(星星应该是 2.png):

图像示例

是否可以?

这是我的 Card.as 电影剪辑

package
{
    import flash.display.MovieClip;
    import flash.events.MouseEvent;

    public class Card extends MovieClip
    {
        public var _type:*;

        public function Card()
        {
            this.buttonMode = true;
            this.addEventListener(MouseEvent.CLICK, onClick);
        }

        private function onClick(event:MouseEvent):void
        {
            if(this.currentFrame == 1)
            {
                this.play();
            }
        }

        public function setType(type:*):void
        {
            _type = type;
            loader_mc.addChild(_type);
        }
    }
}

非常感谢你。

4

1 回答 1

0

使用 Loader 或 URLLoader 加载文件后,您需要将加载的内容转换为可重用的对象。

private var starsVec:Vector.<Bitmap >  = new Vector.<Bitmap >   ;
private var starBitmapData:BitmapData;

public function shiiiit()
{
    var loader:Loader = new Loader  ;
    var url:URLRequest = new URLRequest("plik.png");
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoaded);
    loader.load(url);
}

private function onLoaded(e:Event):void
{
    //saves loaded graphic file into BitmapData object
    starBitmapData = new BitmapData(e.target.content.width,e.target.content.height,true,0);
    starBitmapData.draw(e.target.content);
    createTable();
}

private function createTable():void
{
    for (var i:uint=0; i<6; i++)
    {
        //now use BitmapData object to create new Bitmap object and add it to stage
        starsVec.push(new Bitmap(starBitmapData));
        var starsVecTopElem:Bitmap = starsVec[starsVec.length - 1];
        addChild(starsVecTopElem);
    }
}
于 2013-05-14T10:42:36.633 回答