我需要多少图像才能拥有更流畅的动画(Actionscript);
Posted
技术标签:
【中文标题】我需要多少图像才能拥有更流畅的动画(Actionscript);【英文标题】:How many images I need to have more fluently animation(Actionscript); 【发布时间】:2012-08-10 11:19:46 【问题描述】:我有一个 onEnterFrame 事件:
package
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
import flash.display.BitmapData;
import flash.geom.Matrix;
import flash.errors.IOError;
public class Ball extends MovieClip
private var images:Array;
private var frames:Array;
var i:int = 0;
public function Ball(images:Array)
this.images = images
frames = new Array();
images.forEach(function(current)
trace(current);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadCompleted);
loader.load(new URLRequest(current));
);
private function onLoadCompleted(e:Event):void
frames.push(e.currentTarget.content);
i++;
if(i == images.length)
ready();
private function ready():void
i = 0;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
private function onEnterFrame(e:Event):void
graphics.clear();
var bitmapData:BitmapData = frames[i].bitmapData;
graphics.beginBitmapFill(bitmapData, new Matrix(), false, true);
graphics.drawRect(0, 0, 100, 100);
graphics.endFill();
i++;
if(i == frames.length)
i = 0;
这个类正在获取一组图像,然后对其进行动画处理,这是我的主类:
public class Test extends MovieClip
private var ball:Ball;
public function Test()
var images:Array = new Array();
for(var i:int = 1; i < 21; i++)
images.push('ball' + i.toString(10) + '.png');
ball = new Ball(images);
addChild(ball);
如您所见,我正在传递一个包含 20 个图像的数组,所以问题是我需要多少图像才能制作出一个好的动画,不是粗略的,而是平滑的,每次创建一个新图像,如 ball1.png、ball2。 png, ball3.png, ball4.png - 我需要通过像素来移动球像素才能制作出好的动画?还是有更好的方法来做到这一点?
【问题讨论】:
【参考方案1】:这取决于您的感知和设备以及您希望从内容中看到的内容。 请参考本站:
http://www.mathworks.com/help/toolbox/mupad/plot/INTRO_FramesAndTimeRange.html
【讨论】:
或者使用图形内置对象及其功能或通过创建图像更好?我是新手,我不知道如何做得更好,绘制圆圈和线条我将不得不制作 graphics.clear() 并在每种方法中复制/粘贴代码以绘制一些人或火柴人的越来越多的动作) 或创建 30-50 张图像)) 要读的东西很多=),你能不能给我一个简短的答案?)【参考方案2】:我首先要考虑的是帧率。将更多图像作为帧速率是没有意义的。
对于流畅的动画,基本上 30 fps 应该没问题。此外,如果您考虑将其用于移动设备,我认为您不应该高于 30fps 以获得良好的性能。
关于图片的数量以及如何制作动画,我建议你看看这个游戏教程(饥饿英雄)
http://www.hsharma.com/tutorials/starting-with-starling-ep-3-sprite-sheets/ http://www.hsharma.com/tutorials/starting-with-starling-ep-5-parallax-background/
【讨论】:
以上是关于我需要多少图像才能拥有更流畅的动画(Actionscript);的主要内容,如果未能解决你的问题,请参考以下文章