看板 Flash 關於我們 聯絡資訊
請問各位先進: 我用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