1.如何加载图片资源?在这种情况下,我们应该使用“[嵌入]”来插入资源? 2.哪种技术可以提高游戏flash游戏开发的性能?
答案 0 :(得分:1)
使用加载器访问外部图像,如下所示:
private function init():void
{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoaderCompleteEvent);
loader.load(new UrlRequest("someImage.jpg"));
addChild(loader);
}
private function handleLoaderCompleteEvent():void
{
//Do something.
}
关于技术:如果你想在你的游戏中使用一些漂亮的动画,请使用TweenLite库,这对于动画非常棒。如果你想使用3D,请使用Papervision3D或away3D,但这需要一些学习和了解库,因为TweenLite易于访问和使用。
答案 1 :(得分:0)
使用位图做更多事情,在某些情况下,使用Alchemy从C代码编译计算密集型例程可能会有所帮助(尤其是碰撞检测和物理问题)。
最重要的是,您将受益于使用Flash Builder(或第三方)分析器以及其他形式的基准测试来确定您需要改进的内容。没有什么可以替代了解您的平台的局限性,并从经验中获得一个很好的包袱。
答案 2 :(得分:0)
我发现这一切都归结为最终渲染..你使用的矢量图形越多,它就越慢。如果我移动到精灵表,或者创建一个使用单个MovieClip作为多个BitmapData对象的资源来绘制的类,这对我来说是一个荒谬的区别。
我的意思是:假设你有一个游戏敌人的电影剪辑,如船或什么的。首先,在一个易于访问的地方创建一个MovieClip实例。从这里开始,所有Ship对象都可以扩展Bitmap。另一个功能可能是渲染控制器,它应用旋转并设置您的船舶动画片段的帧。从这里开始,Ship可以像这样工作:
public class Ship extends Bitmap
{
/**
* Constructor
*/
public function Ship()
{
/**
* 1. specify the source movieclip thats been set up in RenderClassThing
* 2. set the rotation to 45 degrees
* 3. set frame of source movieclip to 4
*/
RenderClassThing.prepare(shipMC, 45, 4);
// applies bitmap
bitmapData = RenderClassThing.getBitmapGraphics(shipMc);
}
}
如果使用大量矢量图形,这将产生巨大的差异。