作者vml93 (vml93)
看板Flash
標題[問題] 請問 按按鈕修改文字訊息 (as3)
時間Sat Mar 28 18:08:55 2009
請問各位先進:
我用as3畫出一個圓形按鈕,並在舞台上加了一個文字欄位(預設文字為"ready"),
按了按鈕以後文字要變成"go",寫在handdle_click的function裡面,
可是編譯器告訴我,handdle_click裡面那行msg.text="go"發生錯誤,無法執行,
請問我該如何修正呢?
謝謝~
package {
import flash.display.SimpleButton;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
public class SimpleButtonDemo extends Sprite
{
public function SimpleButtonDemo()
{
var msg:TextField=new TextField();
msg.text="ready";
msg.x=20;
msg.y=50;
var buttom:SimpleButton=new SimpleButton();
buttom.x=20;
buttom.y=20;
buttom.upState=createCircle(0x00ff00,15);
buttom.overState=createCircle(0xffffff,15);
buttom.downState=createCircle(0xcccccc,15);
buttom.hitTestState=buttom.upState;
buttom.addEventListener(MouseEvent.CLICK,handleClick);
addChild(msg);
addChild(buttom);
}
public function createCircle(color:uint,radius:Number):Circle{
var shape:Circle=new Circle(color,radius);
return shape;
}
private function handleClick(evt:MouseEvent):void{
msg.text="go";
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.159.100
→ aquarianboy:錯誤訊息是什麼? 03/28 18:41
推 pm2001:msg擺到function外面 03/28 18:54
→ vml93:錯誤訊息為"存取未定義屬性msg" 03/28 19:12
→ vml93:回二樓,msg放到function外面不就失去該功能嗎? 03/28 19:14
推 pm2001:why? 03/28 19:39
→ vml93:因為要按下滑鼠後才執行msg.text="go",才寫在裡面 03/28 19:54
→ pm2001:........... 03/28 20:33
→ aquarianboy:你需要知道local var跟instance var的差別喔 :) 03/28 21:36
→ vml93:原來是使用的範圍不同,我明白了,謝謝 03/28 22:01