#12004/8/17 17:44:33
斑竹好,我现在写了一个金灵移动的程序,有a,b,c,d,e五个精灵,a,b,c,d
从上到下的排列,当点击其中任何一个精灵的时候让精灵e移动到当前精灵同一水平线上。以下是我写的程序
property pMySprite
property pV,pH
property pSpritelocV
property pSpritelocH
property pStep
property pHor,pVer
property pmeV,pmeH
property pHua
property flage --控制是否运动
property updown --控制上下
on getPropertyDescriptionList me
set List = [:]
addProp List, #pStep, [#comment: "加速度:", #format: #integer, #default: 3, #range: [#min: 1, #max: 30]]
return list
end getPropertyDescriptionList
on mouseup me
pMySprite = me.spriteNum --获取精灵号
pmeV = sprite(pMySprite).locV --当前角色Y坐标
pSpritelocV = sprite(5).locV -- 指定滑快Y坐标
flage = 1 --使滑快可运动
put flage
-- if pmeV >= pSpritelocV then --判断向上还是向下
-- updown = 1
-- else
-- updown = 0
-- end if
--end
end
on prepare me
if flage = true then
if pmeV > sprite(5).locV then --控制向下运动
pSpritelocV = sprite(5).locv
pVer=pmeV - pSpritelocV
sprite(5).locV=sprite(5).locV+(pVer/pStep)
else if pmeV <= sprite(5).locV then --控制向上运动
pSpritelocV = sprite(5).locv
pVer=pSpritelocV - pmeV
sprite(5).locV=sprite(5).locV-(pVer/pStep)
else if pmeV = pSpritelocV then
flage = 0
put flage
end if
end if
end
on exitframe me
prepare me
end
现在使用的时候出了一个问题,点击第一次的时候可以达到想要的效果,但是第二次点击的时候就不能移动到当前精灵同一水平位置了,我就这几行程序看了几个小时,也不知道问题出在那,逻辑上我感觉肯定是对的,可是就是有问题,可以帮我看看吗?谢谢你