實際上有很多方法可以做到這一點,具體取決於你如何設置類。
我假設你在最低限度,沿着線的東西:
public class Canvas
{
...
public function doBold() {
//some stuff
}
...
}
-------
public class Panel
{
....
var myButton:Sprite = //definition details.
myButton.addEventListener(MouseEvent.CLICK, onMouseClick);
....
}
------
public class Main
{
var canvas:Canvas = //instance of your canvas class
var panel:Panel = //instance of your panel class
}
選項1:調度自定義事件
- 設置自定義事件類
- 設置監聽器在初始化畫布對象之後爲該自定義事件發送
- 即使從onClickEvent wi瘦你的面板類。
這裏是在細節上有很大的教程設置此功能: http://code.tutsplus.com/tutorials/as3-101-events-basix--active-10018
選項2:最簡單的方法,但不是很可擴展 而不是設置的事件偵聽器的面板按鈕你可以將它分配給你的主類。這將要求myButton是Panel類中的一個公共變量。
因此,在主,你會碰到這樣的:
panel.myButton.addEventListener(MouseEvent.CLICK, onMouseClick);
...
private function onMouseClick(evt:MouseEvent) {
canvas.doBold(evt.target);
}
,請告訴我們您的代碼段..這將是更好的爲我們來幫助你實際的代碼... – RicoRicochet 2014-12-27 14:27:31