赞 | 1 |
VIP | 5 |
好人卡 | 1 |
积分 | 63 |
经验 | 10392 |
最后登录 | 2024-12-25 |
在线时间 | 1158 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 6333
- 在线时间
- 1158 小时
- 注册时间
- 2012-12-16
- 帖子
- 49
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
if @shake_duration >= 1 or @shake != 0
delta = (@shake_power * @shake_speed * @shake_direction) / 10.0
if @shake_duration <= 1 and @shake * (@shake + delta) < 0
@shake = 0
else
@shake += delta
end
if @shake > @shake_power * 2
@shake_direction = -1
end
if @shake < - @shake_power * 2
@shake_direction = 1
end
if @shake_duration >= 1
@shake_duration -= 1
end
end
我不明白的是@shake * (@shake + delta) < 0这个为什么会小于0。
只有其中一个值是正数,另一个是负数的情况才会得到负数吧。
因为中间有0的关系,所以应该不会小于0吧。
我在脚本中用p输出得到结果:
@shake=8.1
delta=-8.1
输出相加得到的值:-3.5527136788005e-015
输出@shake * (@shake + delta)结果:-2.8776980798284e-014
为什么会得到这个结果呢?
|
|