赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 469 |
最后登录 | 2021-2-21 |
在线时间 | 6 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 110
- 在线时间
- 6 小时
- 注册时间
- 2008-5-17
- 帖子
- 29
|
我的for i in 0...@num在不断调用时,会不断增加内存,这个内存的增长量还是满大的,最终导致程序崩溃,正常来说应该申请多少内存给i这个局部变量后应该释放,然而while却没这个问题,令我很奇怪
可以看:
class Map
def initialize
@devil = Sprite.new
@devil.bitmap = Bitmap.new("Graphics/Battlers/075-Devil01")
@devil.ox = -100
@devil.oy = -100
@num = 1000
end
def input
if Input.press?(Input::DOWN)
@devil.oy -= 1
refresh
end
if Input.press?(Input::UP)
@devil.oy += 1
refresh
end
if Input.press?(Input::LEFT)
@devil.ox -= 1
refresh
end
if Input.press?(Input::RIGHT)
@devil.ox += 1
refresh
end
end
def refresh
for i in 0...@num
end
end
end
@map = Map.new
loop do
Graphics.update
@map.input
Input.update
end
@num小一些没问题,但是按键移动后看任务管理器Game.exe的内存占用量在增加,改while后不会有问题
|
|