具有相同类实例的两个按钮在Flash中可以采用不同的方式吗?

时间:2013-01-14 00:04:34

标签: actionscript-3 flash button

假设我在Flash中有一个名为cont_button的特定按钮类,它应该用于打破循环,但我想多次使用该类。有没有办法给这个类的每个实例一些参数,以便它知道它需要去哪个框架?

示例:

我在第200帧有一个cont_button的实例,并且在200和210之间有一个循环。这个cont_button执行gotoAndPlay(211)。但是后来我在第315帧上有另一个按钮实例,在315和325之间有一个循环。有没有办法让每个实例知道它通过使用变量需要去哪个帧?或者我是否必须为每个人制作一个动作文件?

对ActionScript来说很新,所以我很感激帮助,如果有很好的编码参考AS3你们推荐,我很乐意看看那些。

2 个答案:

答案 0 :(得分:0)

当然,这是可能的。你可以做到这一点的一种方法是使帧号类变量,当点击按钮时,它们引用存储在它们中的任何值,而不是硬编码的数字。为了获得更好的想法,您可以发布按钮类的相关部分吗?

答案 1 :(得分:0)

正如您所说,您需要将参数传递给按钮的每个实例。有很多不同的方法可以做到这一点,但我很想通过实例名称来做这件事。

您可以为每个按钮命名 loopBreakTo211 loopBreakTo326 等等,然后在按钮的类中有:

var breakFrame:Number = Number(name.replace("loopBreakTo", ""));
(parent as MovieClip).gotoAndPlay(breakFrame);

不可否认,这不是一种非常强大的方法(例如,如果按钮名称不正确并且breakFrame最终为NaN,它将会中断,因此您可能希望为此添加检查),但它会保留参数与实例一起而不是在时间轴的某个地方。