[問題] 發射子彈間隔失敗~~求解

看板Flash作者 (奇寶~)時間11年前 (2013/12/02 21:07), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
小弟要作出 機體在射出子彈後,隔三秒才能再發射 由監聽滑鼠click 開始 完成後 一開始的確正常 但過一會兒如果連點滑鼠後,就失常了 變成可以連發@@" 隔三秒的限制不見了~~ 請各位高手協助看一下是哪的問題~ 程式碼如下 //監聽滑鼠點擊來發射子彈 nowthis.stage.addEventListener(MouseEvent.MOUSE_DOWN,BulletEvent); function BulletEvent(me:MouseEvent):void { if (MouseEvent.CLICK && canfire == 1) //變數canfire用來控制是否可發射 { 1可發射,2不可發射 canfire =2; //可發射後,立刻讓接下來變不可發射 並移除滑鼠點擊的監聽 stage.removeEventListener(MouseEvent.MOUSE_DOWN,BulletEvent); //當滑鼠按下時,在場景上創造一個子彈 var ball_mc =new ball();   //設定子彈出現時的起始座標,正常來說應該是要設定在子彈的砲口處 ball_mc.x=nowthis['warcarshooter_mc'].x; ball_mc.y=nowthis['warcarshooter_mc'].y; //這裡是設定子彈行進的位移速度,分別計算出來並且寫入子彈的屬性內   //屬性名稱可以自己定 ball_mc.MoveX=carbulletspeed/30*Math.cos((nowthis['warcarshooter_mc'].rotation-90)*Math.PI/180); ball_mc.MoveY=carbulletspeed/30*Math.sin((nowthis['warcarshooter_mc'].rotation-90)*Math.PI/180); ball_mc.rotation=nowthis['warcarshooter_mc'].rotation-90; nowthis.addChild(ball_mc); //賦予子彈一個ENTER_FRAME的事件 ball_mc.addEventListener(Event.ENTER_FRAME,BulletMoveEvent); //下面是在3秒後,變可射擊狀態,同時加回滑鼠監聽 setInterval(function () { canfire = 1; stage.addEventListener(MouseEvent.MOUSE_DOWN,BulletEvent); }, 3000); } } 感謝~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.113.227

12/03 08:51, , 1F
clearInterval
12/03 08:51, 1F
文章代碼(AID): #1Id8N_gK (Flash)
文章代碼(AID): #1Id8N_gK (Flash)