注意这在ActionScript 2来完成,由于我的限制到Flash Player播放器的观众8.的Flash AS2掌握动态动作按钮到MovieClip类
我试图建立一个扩展底座的简单类Movieclip类。 然后,我使用属性面板将该类应用于库中的动画片段,并在其中为其指定类名称。这很好,我可以在使用attachMovie将movieclip附加到舞台上后,在该对象上使用我的类和方法等。我似乎无法工作的是我在动画片段中的按钮。最初我在图书馆的movieclip中设置了一个按钮,但是我似乎无法在我的课程中找到它。我想要做的只是在按钮中设置一个简单的getURL类型的东西,但它似乎不起作用。
我尝试了分配类,而不是一个按钮内的onmousedown事件处理程序,并做了工作,但无论发生点击我在舞台上,而不是仅仅在图形区域。这可以触发所有其他处理程序在舞台上的任何其他类的实例上,所以它们都会立即启动。但是,使用onRollOver和onRollOut的确如我所料。
我也试着在图书馆设立另一个按钮,使用this.attachMovie我的同班同学附加,但我似乎仍不能得到处理它。
我创建了一个非常简单的测试脚本,试图说明什么,我试图做的: -
class Test extends MovieClip {
public function Test() {
// constructor code
this.attachMovie("theButton" , "myButton" , _root.getNextHighestDepth())
this.myButton.onMouseDown = clickMe;
this._x = Math.random() * 800;
this._y = Math.random() * 400;
}
public function clickMe() {
trace("I have been clicked"+this._name);
}
}
所以,问题是,我怎么重视(或有存在于影片剪辑)一个按钮,我可以提供该按钮的onMouseDown或onMouseUp类型处理程序,只有当我点击实际的按钮时才会起作用。我在这里做错了什么...我尝试了大量不同的想法,但似乎没有任何工作。记住它是AS2而不是AS3。谢谢。
它已经为AS2一段时间,但你尝试'this.myButton.onRelease = clickMe;'?并且你没有任何'Test'实例的点击事件吗? (边注:使用this.getNextHighestDepth(),而不是_root,让你安装什么的下一个深度) – zamnuts
行this.myButton.onMouseDown给我一个错误说有一个名为“为myButton”的属性。我理解为什么这么说,但我无法理解attachMovie如何在类中工作,以及如何从中获取可供我使用的属性。 –
感谢Zamnuts ...它看起来好像只是使用this.onRelease会产生变化,如果我使用的是我的movieclip中的按钮(与类一起)在库中,而我只是在类级别使用onRelease比试图将其附加到按钮。我觉得有点奇怪,但至少它似乎在工作。 –