mieki256's diary



2018/06/24() [n年前の日記]

#1 [love2d] love2dのdrawについてのサンプル

love2d 11.1 + Windows10 x64 で、love.graphics.draw() について動作確認。

_love.graphics.draw - LOVE




基準点を指定すれば、指定座標を左上以外にできるし、回転や拡大縮小の基準点も任意の位置にすることができると分かった。

ソースと画像。 :

ソースは以下。

_main.lua
-- Draw Origin test 01

function love.load()
  img = love.graphics.newImage("box01_64x64.png")
  bgimg = love.graphics.newImage("gridbg.png")
  rotation = 0
  scale = 1.0
  scale_rot = 0
end

function love.update(dt)
  rotation = (rotation + 180 * dt) % 360
  scale_rot = (scale_rot + 180 * dt) % 360
  scale = 1.0 + 0.5 * math.cos(math.rad(scale_rot))
end

function love.draw()
  love.graphics.clear(0, 0, 0, 1.0)
  love.graphics.setColor(1.0, 1.0, 1.0, 1.0)
  love.graphics.draw(bgimg, 0, 0)

  local x = 64
  local y = 64 * 2
  local rot = math.rad(rotation)
  love.graphics.draw(img, x, y)

  x = x + 64 * 3
  love.graphics.draw(img, x, y, rot)

  x = x + 64 * 3
  local rot = math.rad(rotation)
  love.graphics.draw(img, x, y, 0, scale, scale)

  x = 64
  y = y + 64 * 3
  local ox, oy = img:getWidth() / 2, img:getHeight() / 2
  love.graphics.draw(img, x, y, 0, 1, 1, ox, oy)

  x = x + 64 * 3
  love.graphics.draw(img, x, y, rot, 1, 1, ox, oy)

  x = x + 64 * 3
  love.graphics.draw(img, x, y, 0, scale, scale, ox, oy)

  love.graphics.print(tostring(love.timer.getFPS()).." FPS", 10, 10)
end

function love.keypressed(key, isrepeat)
  if key == "escape" then
    -- ESC to exit
    love.event.quit()
  end
end

_conf.lua
function love.conf(t)
  t.window.width = 640
  t.window.height = 480
  t.window.title = "Draw Origin 01"
  t.window.vsync = 1

  -- t.window.fullscreen = false
  -- t.window.fullscreen = true
  -- t.window.fullscreentype = "exclusive"
end

使用画像は以下。

_box01_64x64.png
_gridbg.png

ソースと画像を同じフォルダに入れて、
love フォルダ名
で実行。

以上です。

過去ログ表示

Prev - 2018/06 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project