主题:  请教一个一直没解决满意的问题---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判断加到你要移动的精灵上!