|
主题: 用lingo控制动画的问题
|
 南山东篱摄螂
职务:普通成员
等级:4
金币:10.0
发贴:1840
注册:2000/10/22 10:31:19
|
#12001/1/7 20:29:13
我想用lingo来控制一个角色的动画,目的是这样:角色从 A 水平移动到 B,A、B距离是300,时间是5秒。
这个如何精确地控制角色的移动速度呢?
|
 D计划-混沌
职务:管理员
等级:6
金币:15.2
发贴:3528
注册:2007/4/9 9:48:37
|
#22001/1/8 0:59:46
ON BEGINSPRITE GLOBAL I SET I=1 END on exitFrame me GLOBAL I puppetTempo 10 IF I<5*10 THEN i=i+1 SPRITE(2).LOCH=50+(300/(5*10))*I END IF end puppetTempo 10(一秒十等分) 5*10为五秒
|
 dexn
职务:普通成员
等级:1
金币:1.0
发贴:157
注册:2000/12/7 21:54:20
|
#32001/1/8 9:30:41
理论上是可以了,不过我觉得puppetTempo 的值会在不同的机器上表现会不一样,很难做到满意的效果,如果puppetTempo不能达到理想的值,当然也就达不到目的了。我对puppetTempo原理不是非常了解,望指正。
|
 donlee
职务:普通成员
等级:1
金币:1.0
发贴:271
注册:2000/12/8 8:52:18
|
#42001/1/8 13:22:00
我写过一个比较通用的行为,效果不错。tempo越高移动得越流畅,请稍候。
|
 donlee
职务:普通成员
等级:1
金币:1.0
发贴:271
注册:2000/12/8 8:52:18
|
#52001/1/8 14:14:23
过去写的通用行为不在手边,下面是临时写的,未及测试:
property pOrigX,pOrigTime,pTotaltime on beginsprite me pOrigX=sprite(me.spriteNum).locH pOrigTime=the ticks ptotaltime=5*60 end
on exitframe me laptime=the ticks-pOrigTime newX=pOrigX+min(300,300*laptime/ptotaltime) sprite(me.spriteNum).locH=newX end
如果是向其他方向或用其他时间适当修改一下数值就可以了。 更好的情况是用getpropertydescriptionlist,这里就不写了。
编辑历史:[这消息被donlee编辑过(编辑时间2001-01-08 16:33:22)]
|