Lua - 快速变化的图像

时间:2011-09-02 15:57:34

标签: image background lua

我不是程序员,甚至是业余爱好者,我只想要一个能够尽可能快地改变PSP屏幕(整体)颜色的程序。我做了些什么:

rdupa = Image.load("red.png")
gdupa = Image.load("green.png")
bdupa = Image.load("blue.png")
screen:clear()
while true do
screen:blit(0, 0, rdupa, false)
screen:clear()
screen:blit(0, 0, gdupa, false)
screen:clear()
screen:blit(0, 0, bdupa, false)
screen:clear()
end

使用Google,但这不起作用。我做错了什么(我在脚本所在的文件夹中有* .png图像)?准备好的脚本可以很好地看到。

4 个答案:

答案 0 :(得分:0)

我不确定你的环境,但我猜它很可能无法更新它的主窗口或其他因为它实际上卡住了执行Lua代码剪切(除非它在一个单独的线程中执行)。

答案 1 :(得分:0)

Lua是一种简洁的编程语言,仅提供少量核心功能(参见this list)。

默认情况下,Lua不提供任何与屏幕和图像一起使用的功能,因此在不知道您使用的是哪个库/框架的情况下,我们无法提供帮助。

答案 2 :(得分:0)

对于这个答案,我假设你正在使用Lua Player(考虑添加一个luaplayer标签?)。根据我在documentation中看到的内容,您应该使用

screen.flip()

而不是

screen:clear()

每当您想要更新屏幕时。不幸的是,我的PSP上没有CFW,所以我不能自己测试。

答案 3 :(得分:0)

说实话,我甚至不会考虑使用图像。

这样的事情会做:)

(这是使用PGELua,但很容易适用于LuaPlayer)

while pge.running() do
    color = pge.gfx.createcolor(pge.math.rand(255),pge.math.rand(255),pge.math.rand(255))
    pge.gfx.startdrawing()
    pge.gfx.drawrect(0,0,480,272,color)
    pge.gfx.enddrawing()
    pge.gfx.swapbuffers()
end

如果你想要定义颜色,可能就像。

red = pge.gfx.createcolor(255,0,0)
gre = pge.gfx.createcolor(0,255,0)
blu = pge.gfx.createcolor(0,0,255)
loop = 1
while pge.running() do
    pge.gfx.startdrawing()
    if loop==1 then
         pge.gfx.drawrect(0,0,480,272,red)
    elseif loop==2 then
         pge.gfx.drawrect(0,0,480,272,gre)
    elseif loop==3 then
         pge.gfx.drawrect(0,0,480,272,blu)
    end
    loop=loop+1
    if loop>4 then
        loop=1
    end
    pge.gfx.enddrawing()
    pge.gfx.swapbuffers()
end