主题:  浮点数的问题

wkgsm

职务:普通成员
等级:1
金币:10.0
发贴:122
#12001/9/16 22:10:01
谁帮我看看这段行为代码,我要缩放一个精灵,可场景死活没反应,应该是pSprite.width 和pSprite.height取不到浮点数的问题,当我把缩放比例改为1.05即可运动,可这样运动又太快,我该怎么办。另外运动有抖动,有办法解决吗?


property pMember
property pSprite
property pwidth
property pheight

on beginSprite me

pSprite = sprite(me.spriteNum)
pMember = pSprite.member
the floatPrecision = 4
pSprite.width = pmember.width*0.05
pSprite.height = pmember.height*0.05
psprite.blend = 4.00
end

on exitFrame me

if pSprite.width < pmember.width then
pwidth = (pSprite.width).float
pheight = (pSprite.height).float
pSprite.width = (pwidth *1.02).float
pSprite.height = (pheight *1.02).float
end if

if psprite.blend < 100 then
psprite.blend = psprite.blend + 2
end if
updateStage
if ((pSprite.width >= pmember.width) and (pSprite.height >= pmember.height) and (psprite.blend = 100)) then
go "demo"
end if
end



koala_5d

职务:普通成员
等级:2
金币:1.0
发贴:189
#22001/9/17 17:04:49
我也遇到过类似的问题, 解决的办法是把所有变量强制转成 float 的!

编辑历史:[这消息被koala编辑过(编辑时间2001-09-18 15:46:44)]


wkgsm

职务:普通成员
等级:1
金币:10.0
发贴:122
#32001/9/17 20:43:19
但我已经强制转成 float了呀,pwidth 、pheight 的确已经成为浮点数,可一取pSprite.width 和pSprite.height 就又成了整数,谁能救我。



poloer

职务:普通成员
等级:1
金币:1.0
发贴:139
#42001/9/18 17:11:17
我曾经做过改变locv的东西,定义两个变量:
global gSpace1,gSpace2
on exitFrame me
gSpace1=0.2
gSpace2=sprite(n).locv-gSpace1
sprite(n).locv=gSpace2
end
你试一下,或许对你有帮助