|
主题: 请教一个一直没解决满意的问题---lingo做移动
|
不懂就问盗版
职务:普通成员
等级:1
金币:0.0
发贴:72
|
#12003/10/5 8:43:54
如你想将舞台上一个sprite慢慢地移到当前鼠标点击处(移动要平滑些)。用LINGO怎样来写这个脚本较简单?请做过的大侠们指点一二!
|
golook
职务:普通成员
等级:1
金币:0.0
发贴:11
|
#22003/10/6 20:46:31
用循环,每次让精灵的位置在原来的位置上减少它的loc和鼠标loc的差值,你试试可以吗?我没有写,理论上应该没有问题!
|
不懂就问盗版
职务:普通成员
等级:1
金币:0.0
发贴:72
|
#32003/10/6 22:31:02
谢谢,我试试
|
不懂就问盗版
职务:普通成员
等级:1
金币:0.0
发贴:72
|
#42003/10/9 16:09:38
还是没做出来,有谁能写个来看看吗?唉
|
未来的大师
职务:普通成员
等级:2
金币:1.0
发贴:550
|
#52003/10/9 18:50:34
这个试试看,我这里没有装dr,所以没有测试
if the mouseUp then _tmpParaH = the mouseH _tmpParaV = the mouseV repeat while while sprite(2).locH=_tmpParaH and sprite(2).locV=_tmpParaV if sprite(2).locH>_tmpParaH) then sprite(2).locH=sprite(2).locH-1 end if if sprite(2).locH<_tmpParaH) then sprite(2).locH=sprite(2).locH+1 end if if sprite(2).locV>_tmpParaV) then sprite(2).locV=sprite(2).locV-1 end if if sprite(2).locV<_tmpParaV) then sprite(2).locV=sprite(2).locV+1 end if end repeat end if
|
南山东篱摄螂
职务:普通成员
等级:4
金币:10.0
发贴:1840
|
#62003/10/9 21:35:08
如果想让运动得平滑些,最好把 月落西山前 兄的脚本改进一下, 放到 on exitframe me .. end on exitframe 让对像一帖移动一次,比较好,
|
不懂就问盗版
职务:普通成员
等级:1
金币:0.0
发贴:72
|
#72003/10/10 7:32:03
月落西山前大侠。谢谢你的指点,但我试了你这脚本,鼠标点击时SPRITE(2)没反应,问题出在什么地方呢?
|
不懂就问盗版
职务:普通成员
等级:1
金币:0.0
发贴:72
|
#82003/10/10 13:03:53
谢谢大家!谢谢月落西山前!我找到原因了,是循环条件反了,改成这样就行了. repeat while sprite(2).locH<>_tmpParaH or sprite(2).locV<>_tmpParaV
|
不懂就问盗版
职务:普通成员
等级:1
金币:0.0
发贴:72
|
#92003/10/10 14:01:38
但还是不满意 ,因为SPRITE移动得太快,运动不平滑,要它慢慢移动又该怎么做呢??请大家指点一下,先谢谢了!
|
未来的大师
职务:普通成员
等级:2
金币:1.0
发贴:550
|
#102003/10/10 21:58:04
不好意思啊!测试了一把发现上面有很多问题,所以改进了一下,这下没有问题了! ==================================
global _tmpParaH,_tmpParaV on exitFrame me go to the frame if the mouseDown then _tmpParaH = the mouseH _tmpParaV = the mouseV end if if sprite(2).locH<>_tmpParaH or sprite(2).locV<>_tmpParaV then if sprite(2).locH>_tmpParaH then sprite(2).locH=sprite(2).locH-1 end if if sprite(2).locH<_tmpParaH then sprite(2).locH=sprite(2).locH+1 end if if sprite(2).locV>_tmpParaV then sprite(2).locV=sprite(2).locV-1 end if if sprite(2).locV<_tmpParaV then sprite(2).locV=sprite(2).locV+1 end if end if
end
|
未来的大师
职务:普通成员
等级:2
金币:1.0
发贴:550
|
#112003/10/10 22:01:07
还是有点问题!还得把精灵锁定移动范围!
|
不懂就问盗版
职务:普通成员
等级:1
金币:0.0
发贴:72
|
#122003/10/10 22:01:40
再次谢谢您!
|
未来的大师
职务:普通成员
等级:2
金币:1.0
发贴:550
|
#132003/10/10 22:04:36
可以没?
|
zhangkui
职务:普通成员
等级:1
金币:0.0
发贴:58
|
#142003/10/17 11:21:14
月落的方法可以解决问题,但似乎不够简练,个人认为还是用repeat比较合适啦, 个人看法,未经试验
|
未来的大师
职务:普通成员
等级:2
金币:1.0
发贴:550
|
#152003/10/17 22:01:34
我用 repeat但是速度太快!不知道为什么! 还有,更好的办法是把那段if判断加到你要移动的精灵上!
|