[問題] 請問 按按鈕修改文字訊息 (as3)

看板Flash作者 (vml93)時間17年前 (2009/03/28 18:08), 編輯推噓2(207)
留言9則, 3人參與, 最新討論串1/2 (看更多)
請問各位先進: 我用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

03/28 18:41, , 1F
錯誤訊息是什麼?
03/28 18:41, 1F

03/28 18:54, , 2F
msg擺到function外面
03/28 18:54, 2F

03/28 19:12, , 3F
錯誤訊息為"存取未定義屬性msg"
03/28 19:12, 3F

03/28 19:14, , 4F
回二樓,msg放到function外面不就失去該功能嗎?
03/28 19:14, 4F

03/28 19:39, , 5F
why?
03/28 19:39, 5F

03/28 19:54, , 6F
因為要按下滑鼠後才執行msg.text="go",才寫在裡面
03/28 19:54, 6F

03/28 20:33, , 7F
...........
03/28 20:33, 7F

03/28 21:36, , 8F
你需要知道local var跟instance var的差別喔 :)
03/28 21:36, 8F

03/28 22:01, , 9F
原來是使用的範圍不同,我明白了,謝謝
03/28 22:01, 9F
文章代碼(AID): #19pVSxcw (Flash)
文章代碼(AID): #19pVSxcw (Flash)