Как сделать Gosu Ruby Basic Shapes
Я пытаюсь сделать несколько простых фигур в госу (рубин). Мне трудно, где вызывать функции. Это метод обновления или метод рисования.
require 'rubygems'
require 'gosu'
class DemoWindow < Gosu::Window
def initialize
super(640, 400, false)
end
def draw
draw_quad(x-size, y-size, 0xffffffff, x+size, y-size, 0xffffffff, x-size, y+size, 0xffffffff, x+size, y+size, 0xffffffff, 0)
draw_triangle(x1, y1, c1, x2, y2, c2, x3, y3, c3, z=0, mode=:default)
draw_line(x1, y1, c1, x2, y2, c2, z=0, mode=:default)
end
end
Пожалуйста, посмотрите и дайте мне знать, если это правильный способ создания фигур.
1 ответ
Из того, что я вижу, у тебя должно работать.
В Gosu я обратил внимание на то, что при первом запуске он вызывает метод draw перед вызовом функции update. Это означает, что если у вас есть (не включая используемые вами функции формы) какие-либо изображения, которые вы собираетесь выводить на экран, для которых вы только определили координаты в методе обновления, программа не будет работать. Вы должны сначала определить их значения x и y с некоторым предварительным расположением в методе draw.
Возможно, это вам не поможет, но я подумала, что внесу это на всякий случай.
Из того, что я заметил, что у вас нет метода обновления, поэтому это не рендеринг
class DemoWindow < Gosu::Window
def initialize
super(640, 400, false)
end
def update
end
def draw
draw_quad(x-size, y-size, 0xffffffff, x+size, y-size, 0xffffffff, x-size, y+size, 0xffffffff, x+size, y+size, 0xffffffff, 0)
draw_triangle(x1, y1, c1, x2, y2, c2, x3, y3, c3, z=0, mode=:default)
draw_line(x1, y1, c1, x2, y2, c2, z=0, mode=:default)
end