Re: [問題] 請問關於enterFrame
感謝兩位大大的回答~~太感動了
小弟努力了一個下午
先試了jona大的方法
大概跑一下round
可是一直失敗
下班要翻書查round的用法
結果書忘在公司帶錯本回來了Orz...
然後是ice大的方法
因為小弟總共有11個按鈕在控制mc_gin這個影片的旋轉角度
所以必須分開寫在每個按鍵的on(Press)裡
這樣才能指定按下每個按鍵後的旋轉角度
後來回家的時候想到別的方法做做看
剛剛做成功了
不過我一定會再練習看看setInterval的用法
感謝感謝
最後報告一下
是用tween去寫的
大致是這樣子
var myTween:Tween = new Tween(mc_gin, "_rotation",
mx.transitions.easing.Regular.easeInOut, mc_gin._rotation,
30, 2, true);
30是想要的角度
這樣沒有用到onEnterFrame
電腦也開心多了
謝謝謝謝~~
※ 引述《jonathanmeow (喵)》之銘言:
: ※ 引述《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: 220.133.21.39
推
05/29 22:07, , 1F
05/29 22:07, 1F
推
05/29 22:12, , 2F
05/29 22:12, 2F
推
05/30 00:51, , 3F
05/30 00:51, 3F
推
05/30 07:01, , 4F
05/30 07:01, 4F
→
05/30 07:01, , 5F
05/30 07:01, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 5 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章