作者zswolf (响彻云霄的喇叭声)
看板Flash
标题Re: [问题] 请问关於enterFrame
时间Tue May 29 19:22:20 2007
感谢两位大大的回答~~太感动了
小弟努力了一个下午
先试了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
1F:推 jonathanmeow:哇...居然不是这个问题 还要再磨练磨练.... 05/29 22:07
2F:推 jonathanmeow:不过刚查了一下 是Math.round()啦 记成别的了.... 05/29 22:12
3F:推 zswolf:感谢!!确定没问题!!笔记笔记~~很实用!! 05/30 00:51
4F:推 jonathanmeow:这样就可以了喔? 唔..不过你的tween我没用过 05/30 07:01
5F:→ jonathanmeow:是flash8才有的吗? 最近才灌它 改天也来学学看 05/30 07:01