Sha256: 9b7584a407bf2b82a0f76717a8ceffdbcb210e792a74a91e30e124515f30c9d3

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

class AuthorEngine
  class Part
    module Graphics
      def rect(x = 0, y = 0, width = 1, height = 1, color = Gosu::Color::WHITE, z = 0)
        Gosu.draw_rect(x, y, width, height, color, z)
      end

      def text(text, x = 0, y = 0, size = 4, z = 0, color = white)
        @fonts ||= {}

        font = nil

        if @fonts.dig(size)
          font = @fonts.dig(size)
        else
          font = (@fonts[size] = Gosu::Font.new(size, name: Text::FONT_DEFAULT))
        end

        font.draw_markup(text, x, y, z, 1, 1, color)
      end

      def sprite(index, x = 0, y = 0, z = 0, alpha = 255)
        image = SpriteEditor.instance.sprites[index]
        raise "No sprite at '#{index}'!" unless image
        image.draw(x, y, z, 1,1, Gosu::Color.rgba(255,255,255, alpha))
      end

      def translate(x, y, &block)
        Gosu.translate(x, y) do
          block.call if block
        end
      end

      def rotate(angle, around_x = 0, around_y = 0, &block)
        Gosu.rotate(angle, around_x, around_y) do
          block.call if block
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
author_engine-0.1.0 lib/author_engine/game/parts/graphics.rb