首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Love2d旋转图像

Love2d旋转图像
EN

Stack Overflow用户
提问于 2012-05-23 02:39:09
回答 5查看 8K关注 0票数 2

我想在Love2D中旋转图像。我在love2d.org:https://love2d.org/wiki/love.graphics.rotate上找到了一个文档,但当我试图加载图像时,似乎无法让它工作。下面是我的代码:

代码语言:javascript
复制
local angle = 0

function love.load()
    g1 = love.graphics.newImage("1.png") 
end

function love.draw()
    width = 100
    height = 100
    love.graphics.translate(width/2, height/2)
    love.graphics.rotate(angle)
    love.graphics.translate(-width/2, -height/2)
    love.graphics.draw(g1, width, height)
end

function love.update(dt)
    love.timer.sleep(10)
    angle = angle + dt * math.pi/2
    angle = angle % (2*math.pi)
end

谁能给我展示一个在love2d中旋转图像的简单例子?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-23 02:45:47

https://love2d.org/wiki/love.graphics.draw

使用第四个参数(显示为'r‘)可以更好地旋转图像,例如:

代码语言:javascript
复制
love.graphics.draw(image, x, y, math.pi/4)

使用平移函数也不是一个好主意,你最好为每个图像指定一个x和y位置,除非你正在做一些事情,比如偏移整个地图,在这种情况下,它可以节省计算时间(或者至少是你的代码的长度和复杂性)。(当然,在其他情况下,它也非常有用)。

票数 6
EN

Stack Overflow用户

发布于 2012-05-23 15:35:13

你的代码对我来说工作得很好,除了一个不相关的小问题(love.timer.sleep在LÖVE 0.8.0中使用秒)。

如果您向我们提供更多信息,我们将能够更好地帮助您,甚至可能重现您的错误。

当你说

当我尝试加载图像时,它似乎无法正常工作

结果是..what吗?图像是一个白色的盒子吗?应用程序会崩溃吗?屏幕上什么都没有吗?

所有这些都意味着图像加载问题,而不是旋转问题。不过,也可能是图像从屏幕上旋转出来的情况。

如果您继续使用translaterotatescale (这通常是个好主意),我建议您看看pushpop函数。

它们允许你‘堆叠’转换,这样你就可以渲染子元素。

示例用途是渲染图形用户界面(每个子代都会推动其平移,然后渲染子代)和在滚动地图上绘制精灵(相机会转换整个地图,然后执行for entity in entities do push() entity:draw() pop() end。每个实体都可以在局部坐标中平移和旋转(0,0 =精灵的中心)。

票数 3
EN

Stack Overflow用户

发布于 2015-08-16 00:15:13

代码语言:javascript
复制
love.graphics.draw( drawable, x, y, r, sx, sy, ox, oy, kx, ky )

R是旋转..为什么你不直接将它设置为一个变量,然后根据你的喜好改变它呢?我是编程新手,所以我可能是错的,但这就是我要做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10708034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档