我正在用Ruby / Shoes编写一个小游戏。我正在尝试将此代码放入循环。它应该在最后一个计时器之后重复。我不知道如何开始。
@timer2= timer(20)do
@pic.move(100,170)
end
@timer2= timer(40) do
@pic.move(350,120)
end
@timer2= timer(60) do
@pic.move(20,400)
end
@timer2= timer(80) do
@pic.move(420,60)
end
答案 0 :(得分:0)
只需循环您的代码即可:
loop {
@timer2 = timer(20) do
@pic.move(100, 170)
end
@timer2 = timer(40) do
@pic.move(350, 120)
end
@timer2 = timer(60) do
@pic.move(20, 400)
end
@timer2 = timer(80) do
@pic.move(420, 60)
end
}
如果需要退出循环,请使用break
。
答案 1 :(得分:0)
简单示例循环尝试
class Picture
def initialize
@last_move = {}
end
def move(x, y)
@last_move = { x: x, y: y }
puts @last_move
end
def self.test_movement
@pic = new
pic_moves = [
{ t: 2, x: 100, y: 170 },
{ t: 4, x: 350, y: 120 },
{ t: 6, x: 20, y: 400 },
{ t: 3, x: 420, y: 60 }
]
pic_moves.each do |pm|
sleep(pm[:t])
puts(pm[:t])
@pic.move(pm[:x], pm[:y])
end
end
end
Picture.test_movement