如何制作Gosu Ruby基本形状

时间:2013-02-24 13:12:08

标签: ruby libgosu

我试图在gosu(ruby)中制作一些简单的形状。我发现在哪里调用函数很困难。是更新方法还是绘制方法。

   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

如果这是创建形状的正确方法,请查看并告诉我。

2 个答案:

答案 0 :(得分:0)

从我所看到的,你所得到的应该是有用的。

我注意到有关Gosu的一件事是,当它第一次启动时,它会在调用更新函数之前调用draw方法。这意味着如果你有(不包括你正在使用的形状函数)你要绘制到屏幕的任何图像,你只有在更新方法中定义了坐标,程序将无法工作。你必须首先在draw方法中用一些初步位置定义它们的x和y值。

这可能对你没有帮助,但我认为我会在可能的情况下做出贡献。

答案 1 :(得分:0)

据我所知,您没有update方法,因此它无法呈现

 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