这次好象是遇到gm的精确度的问题?还是运行机制?
gamemaker吧
全部回复
仅看楼主
level 8
anheimfb
楼主
只有1个对象,上面是所有代码,目的就是a到32的时候 ,位置到x=400的位置
但是实际情况是 结果位置没变。。
想不明白为什么, 把room_speed调到2,可以清楚看到a有等于32的时候,但是x=400没有执行。
求原因。。
2014年10月10日 15点10分
1
level 10
FeoniXº
试试用a>=32
2014年10月10日 15点10分
2
anheimfb
那个好象是可以的, 换成a+=1;if a=320..也行。 只是想不明白为什么这样就不可以。只是想知道原因,
2014年10月10日 16点10分
anheimfb
就象标题说的,只是想知道是不是和精确度或者运行机制有关系
2014年10月10日 16点10分
level 10
FeoniXº
试试用a>=32
2014年10月10日 15点10分
3
level 10
FeoniXº
还有你的end step应该换成step
2014年10月10日 15点10分
4
吧务
level 13
q糖豆p
由于计算机采用二进制进行数据计算和存储,导致了0.1是一个循环小数。而计算机又不能用无穷长的数值进行运算,于是会存在“零舍一入”的情况,尤其在进行累加时最为明显。
将计算和判定同时扩大10倍,即使用a自增1、判定a==320,即可满足需要。
2014年10月11日 00点10分
5
anheimfb
哦哦 是2进制的原因,谢啦。我还费劲做了很长时间测试,都没想到。
2014年10月11日 02点10分
level 9
空洞🌀
不能用小数滴,我试过设置每秒score加0.1,也不能触发当score为1或其它数时的事件
2014年10月11日 09点10分
6
q糖豆p
可以试试0.125,大概就能加出整数了
2014年10月12日 07点10分
1