红宝石鞋 - 绘制网格

时间:2013-11-25 01:12:19

标签: ruby drawing shoes

我正在使用Ruby Shoes为一个僵局的方形玩家画一个网格。它...有点工作。看到它只为网格绘制了大约3/4种方式,我怀疑这是因为我没有很好地制作我的地图数组。但这不是主要问题。主要问题是绘制网格导致的延迟。为什么它让我喜欢4 FPS?只有一套线是没问题的。

这是代码

Shoes.app(title:"Some Ruby [shoes] Game", width:(811), height:(601), resizable: false) {
@x = 0
@y = 0
@map = Array.new(600/30) { Array.new(800/30) } 
#using 600/30 and 800/30 because gridlock... (player is 30x30pix)
@rect = rect(left:@x, top:@y, width:30)
num = 0
@map.each { |el|
    if(num!=0)
        line(top:0,left:(num*30),width:0,height:600)
    end
    el.each { |el2|
        if(num!=0)
            line(top:(num*30),left:0,width:800,height:0)
        end
    }
    num = num + 1
}
keypress { |k|
    if(k=="w")
        @y = @y - 30
    end

    if(k=="s")
        @y = @y + 30
    end

    if(k=="a")
        @x = @x - 30
    end

    if(k=="d")
        @x = @x + 30
    end
    @rect.remove
    @rect = rect(left:@x, top:@y, width:30)
}
}

我不确定是什么错。请帮帮忙?

1 个答案:

答案 0 :(得分:1)

我更改了@map行中的数字,程序停止了我的滞后。

@map = Array.new(60) { Array.new(80) }