0

我正在为我在 AS3 上的平台游戏制作关卡创建者。我正在寻找一种在我的 .fla 上获取库对象的图形表示的方法,这样用户就可以在世界上所需的坐标上插入该对象。我的意思是我只想要一张 mc 第一帧的照片,而不需要它的属性和方法(不需要制作包含该图像的 .jpg),因为那是问题开始出现的时候,我只想要播放模式下的对象功能,而不是关卡创建者。

比如说,一个球通过每帧更新它的位置来一直弹跳。在关卡创建器上,我只想获取球图片以将其插入所需位置。如果我把整个球对象带到关卡创建者那里,它不会停止弹跳,而且会把事情搞砸。

我希望我很清楚......我只想知道是否有可行的解决方案;如果不是,那么我将创建一个所有世界对象都将扩展到的类,该类具有初始化所有对象功能的 init() 函数,因此它仅在播放模式下调用,而不是在关卡创建者上调用。无论如何感谢您的阅读。

4

1 回答 1

0

您做错的是将功能直接添加到 MovieClip

请阅读我之前更深入地涵盖此概念的答案之一

MovieClips 应该仅用于显示,表示实际游戏类的图形,例如:

public class Player
{
    // Graphics that represent the Player.
    protected var display:MovieClip;

    // Constructor.
    public function Player()
    {
        display = new PlayerMovieClip();
    }
}

无论如何,一旦你修复了这个问题,你就可以使用BitmapData它来获取 MovieClips 的位图样本draw()

// Assume that 'mc' is your MovieClip.
var sample:BitmapData = new BitmapData(mc.width, mc.height, true, 0);
sample.draw(mc);

// This is your image.
var texture:Bitmap = new Bitmap(sample);
于 2012-07-25T23:52:20.880 回答