Re: [問題] 請問關於enterFrame
※ 引述《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
討論串 (同標題文章)
Flash 近期熱門文章
PTT數位生活區 即時熱門文章