我一般不熟悉ruby和编程,我使用的是称为ruby2D的gem。 我试图让一个多维数据集跳转,但是当我按下跳转键时,我的解释器崩溃了,没有说任何错误
我在确定问题时遇到了问题,但是我尝试了while而不是直到它都尝试不了
on :key_down do |jump|
if jump.key == 'j'
if player.y == 520
gravity = -15
player.y = 510
until player.y == 520
player.y += gravity
gravity += 1
end
end
end
end
我希望我的立方体跳起来,然后再次摔倒,但我只是崩溃
答案 0 :(得分:0)
在Ruby2D中,您必须使用tick
来制作动画。
该窗口还管理更新循环,这是您在编程中遇到的少数几个错误循环之一,这并不是一个错误。每个窗口都有一个心跳,一个每秒运行60次的循环,或者与计算机性能所允许的接近。使用update
方法,我们可以进入此循环并使窗口栩栩如生!
尝试这样的事情:
require 'ruby2d'
set title: 'squares'
set background: 'blue'
set width: 1280
set height: 720
set borderless: true
on_air = false
tick = 0
ground = Rectangle.new(
x: 0, y: 620,
width: 1280, height: 100,
color: 'green'
)
player = Square.new(
x: 100, y: 520,
size: 100,
color: ['red', 'purple', 'fuchsia', 'maroon']
)
on :key_down do |jump|
if jump.key == 'j'
player.y -= 50
on_air = true
end
end
update do
if on_air
if tick % 1 == 0
player.y += 5
if (player.y + player.size) == ground.y
on_air = false
end
end
end
tick += 1
end
show