Re: [問題] 請問關於enterFrame

看板Flash作者 (喵)時間18年前 (2007/05/29 16:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
※ 引述《zswolf (響徹雲霄的喇叭聲)》之銘言: : 試了兩天還是失敗了Qrz... : 我在舞台上有個實體名稱為mc_gin的影片片段以及btn_1的按鈕 : 然後我在btn_1上寫下 : on (press) { : var speed:Number = 10; : mc_gin.onEnterFrame = function() { : this._rotation -= -(30-this._rotation)/speed; : _root.mc_clock.mc_back._rotation -= : -(30-180-mc_clock.mc_back._rotation)/speed; : trace(this._rotation ); : if (this._rotation ==30) { : delete mc_gin.onEnterFrame; : } : }; : } : 但是trace出來EnterFrame並沒有刪除掉 : 可是我如果藍色的部份寫(this._rotation >29.99) : 那只要大於29.99後onEnterFrame就會被delete掉了 : 如果沒有delete掉一直算會變的很吃力..... : 請問有沒有高手可以替小弟解惑一下~~~感謝!! 我記得之前我也問過相同狀況的問題 有網友提到加上除法變成小數之後 可能會因為某些二進位的因素 讓它無法確實等於30 縱使你讓他trace出來是30 但他實際上還是不是30(這是繞口令嗎?!) 當時我的解決方式之其一 就是讓他四捨五入後再判斷是否等於30 我記得四捨五入是round() 所以你在if判斷式中 改成這樣 if (round(this._rotation) ==30) { this._rotation=30; delete mc_gin.onEnterFrame; } 試試看可行否吧 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.19.207.209
文章代碼(AID): #16M-87AH (Flash)
討論串 (同標題文章)
文章代碼(AID): #16M-87AH (Flash)