在我製作的遊戲中,選擇一個形狀,然後在下一個屏幕上選擇一種顏色。形狀選擇器正常工作,並將6個'形狀'影片剪輯之一加載到遊戲的下一個階段。在這個階段,我有按鈕來控制顏色。我試圖通過啓動一個自定義事件來使按鈕改變動畫片段的顏色。然後,每個動畫片段將由該班級內的聽衆檢測到。AS3使用自定義事件來更改不同類別的屬性
到目前爲止,這是我的代碼:
包含顏色變化按鈕時,屏幕:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class ColorSelector extends MovieClip
{
public function ColorSelector()
{
charcoal.addEventListener (MouseEvent.CLICK, onClickCharcoal);
}
public function onClickCharcoal (mouseEvent:MouseEvent): void
{
dispatchEvent (new ColorEvent (ColorEvent.CHARCOAL));
trace ("click")
}}
自定義事件類:
:package
{
import flash.events.Event;
public class ColorEvent extends Event
{
public static const CHARCOAL:String = "charcoal";
public function ColorEvent(type: String)
{
super (type);
}
}}
影片剪輯作用於其
package {
import flash.display.MovieClip;
public class Gobbert extends MovieClip {
public function Gobbert()
{
this.addEventListener (ColorEvent.CHARCOAL, makeCharcoal)
}
public function makeCharcoal (colorEvent: ColorEvent) :void
{
this.alpha = .5
}
}
在我看來,事件並沒有與聽衆進入課堂。我真的可以用一雙新的眼睛來幫助我弄清楚發生了什麼。該程序不會給我任何錯誤,只是不做其他事情。提前致謝!