lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 8166|回复: 6
打印 上一主题 下一主题

LTweenLite 能否按中心旋转

[复制链接]

9

主题

0

好友

133

积分

士兵

Rank: 1

跳转到指定楼层
楼主
发表于 2014-5-10 19:33:59 |只看该作者 |倒序浏览
看例子里只能按左上角为中心
回复

使用道具 举报

46

主题

3

好友

1866

积分

偏将军

Rank: 4

沙发
发表于 2014-5-10 19:48:34 |只看该作者
如果用LSprite,用getRotateXY()来设置。LBitmap用rotateCenter=true来设置
回复

使用道具 举报

9

主题

0

好友

133

积分

士兵

Rank: 1

板凳
发表于 2014-5-10 19:59:21 |只看该作者
哈哈,搞定,多谢楼上

给同样有疑问的同学参考

  LTweenLite.to(football,5,
                {
                        //x:200,
                        yspeed:5,
                        delay:1,
                        rotate:-3600,
                        onUpdate:function(){
                                football.getRotateXY();
                        },
                        onComplete:function(){
                                //start();
                        },
                        ease:Sine.easeOut
                }
        );
回复

使用道具 举报

46

主题

3

好友

1866

积分

偏将军

Rank: 4

地板
发表于 2014-5-11 12:00:10 |只看该作者
jack_liu 发表于 2014-5-10 19:59
哈哈,搞定,多谢楼上

给同样有疑问的同学参考

其实不需要在onUpdate里调用getRotateXY吧。在LSprite实例化后调用getRotateXY也是一样的,而且可能效率更高。
回复

使用道具 举报

9

主题

0

好友

133

积分

士兵

Rank: 1

5#
发表于 2014-5-12 00:11:44 |只看该作者
谢谢解答,我也发现我写的有问题
回复

使用道具 举报

37

主题

8

好友

9312

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

6#
发表于 2014-5-12 00:20:53 |只看该作者
jack_liu 发表于 2014-5-12 00:11
谢谢解答,我也发现我写的有问题

上面两个方法确实都是可以的
但是也有一定的局限性,
比如你要想要设定任意位置为一个对象的旋转中心的话,就又是一个问题了。
一般设定旋转中心的时候,我推荐的做法是在对象的外层加上一个LSprite对象
比如你要旋转的对象为A,在他外面加一层B
就是说B.addChild(A);
然后改变A的坐标,让它的中心位置正好处在B的(0,0)位置
这样
A.x = -A.getWidth()*0.5;
A.y = -A.getHeight()*0.5;
然后直接旋转B对象,这样的话,A也会一起旋转,并且旋转中心就是自己的中心位置。
这种做法的好处是,旋转的中心根据A的坐标不同而不同,也就是说你可以任意设定旋转的中心位置
不回答与技术和引擎不相关的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-5-7 18:17 , Processed in 0.049643 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部