Ne, aber...

Zitat Zitat von Corti Beitrag anzeigen
Fog of war
Challenge accepted!

Code:
function onInit()
    rpg.graphics.setBlendMode "multiply"

    fogs = {}

    buffer = rpg.graphics.newImage(320, 240)

    light = rpg.graphics.newImage(100, 100)
    light:drawCircle(true, 50, 50, 50, 0xFFFFFFFF, 0x00000000)
end

function onFrame()
    if rpg.scene == "map" then
        local fog = fogs[rpg.map.id]

        if fog == nil then
            fog = rpg.graphics.newImage(rpg.map.width * 16, rpg.map.height * 16)
            fog:setBlendMode "add"
            fogs[rpg.map.id] = fog
        end
        
        if rpg.map.hero.x ~= x or rpg.map.hero.y ~= y then
            fog:draw(light, rpg.map.hero.x * 16 - 45, rpg.map.hero.y * 16 - 50)
        end

        x, y = rpg.map.hero:getPosition()
        
        fog:copyRect(rpg.map.cameraX, rpg.map.cameraY, 320, 240, buffer)

        rpg.graphics.draw(buffer, 0, 0)
        
        if rpg.keyboard.isDown "o" then
            local screenshot = rpg.graphics.copyRect(0, 0, 320, 240)
            rpg.graphics.writeImage(screenshot, "Save/screenshot.png")
        end
    end
end
Klicke auf die Grafik für eine größere Ansicht 

Name:	screenshot.png 
Hits:	57 
Größe:	39,7 KB 
ID:	19600

In action: download RPGSS.7z