Algorithm flash和actionscript中的动态动画

Algorithm flash和actionscript中的动态动画,algorithm,actionscript-3,flash,animation,dynamic,Algorithm,Actionscript 3,Flash,Animation,Dynamic,老粉丝 我希望为我目前的美术文凭中的主要创意项目创建一个动态动画引擎。我在过去有一些编程经验,但在我目前正在研究的领域没有专业知识 我想知道我的想法是否可行,如果可行,我需要什么语言/等来实现它 我意识到这是一个大问题,所以我会尽可能地具体描述 我目前正在考虑使用Flash和ActionScript3 当前操作的简单描述如下: 向用户提供图形输入,用户可以使用 只是黑色的。完成绘图后,单击“提交” 按钮,图形将成为正在进行的动画中的帧 但是,提交的每个框架都由程序和 将其与动画中当前的所有其他帧

老粉丝

我希望为我目前的美术文凭中的主要创意项目创建一个动态动画引擎。我在过去有一些编程经验,但在我目前正在研究的领域没有专业知识

我想知道我的想法是否可行,如果可行,我需要什么语言/等来实现它

我意识到这是一个大问题,所以我会尽可能地具体描述

我目前正在考虑使用Flash和ActionScript3

当前操作的简单描述如下:

向用户提供图形输入,用户可以使用 只是黑色的。完成绘图后,单击“提交” 按钮,图形将成为正在进行的动画中的帧

但是,提交的每个框架都由程序和 将其与动画中当前的所有其他帧进行比较。这个 然后,程序对新帧(可能包括所有或任何适当的帧)进行排序 其他帧)按像素数据的顺序插入动画中 最靠近其两侧的框架

该程序可能在后台或在 间隔时间或任何真正有效的方式

随着时间的推移,动画帧速率也会部分加快 添加了更多帧,使动画更长更快(以 (也许是重点)

也许:

framerate = totalFrames / n
或者类似的东西

我目前的想法是:

我意识到最困难的方面是根据像素位置数据对帧进行分析、比较和重新排序。我觉得通过某种位图分析是可能的

由于我对提问流程还不熟悉,如果有什么不清楚或不好的做法,请拉我上来,我会尽快纠正


非常感谢。

虽然使用AS3和Flash可以存储绘图和动画,但将帧放入先前绘制的序列的正确算法几乎是不可能的。最简单的例子:一个有一个箭头指向12,1,2。。。等等,现在我们有一个动画正在创建中,箭头指向12 alreasy作为一个帧,现在将要添加一个帧,箭头指向1。程序应该如何对该帧作出反应,将其作为第一帧还是第二帧?如果艺术家有点乐趣,会画12,然后是6,然后是2(然后是所有其他)-程序将如何确定它是12-1-2-3-4。。。?请注意,即使只有一个箭头,甚至没有数字或线,也只有一个像素在两个连续帧(或一组像素,即轴)中是公共的。另一种情况-水平线下降,共有0个像素。还有一些示例,其中一个帧可以插入到其他两个帧之间,而不考虑您使用的位图接近度度量。所以我建议你改为手动排序,不要玩这种高科技游戏


可以执行变速动画显示,但不能使用
MovieClip
,因为您不能动态制作动画,而是使用一系列
BitmapData
对象、一个
Bitmap
对象和自定义enterframe侦听器。(和/或一系列形状)

非常感谢您的快速响应Vesper!是的,我知道这类分析所需的算法相当复杂。我不是在寻找任何一种极端的准确性,只是平滑过渡的效果。感谢您让我在如何进行实际比较(如您提到的常见像素)方面思考得更多。我还真的很想知道这在性能方面的成本有多高,效率低下的应用程序可能会很快见底并变得非常缓慢。尽管如此,我仍想进一步探索,但再次感谢,这是一个非常有用的信息。无论排序算法是否可行,您是否可以扩展我可能需要的结构,使动画速度可变,并由可重新排列的位图“帧”组成。非常感谢您提供有关enterframe侦听器的提示。再次感谢。示例结构是一个bitmapData数组,一个包含位图和enterframe侦听器的Sprite,或者一个
update()
函数,该函数更改位图的
bitmapData
引用,以按顺序指向数组中的每一个。要改变动画的帧速率,请每N帧调用一次
update()
,其中N为1表示最大帧速率,等于每秒1帧的
stage.frameRate
,或者为嵌入式侦听器提供相同的机制。