Skip to content
Elizabeth edited this page Nov 9, 2018 · 22 revisions

OVR() (added in 0.60.0) is called on every frame. It draws on a separate layer, and it can be used together with scanline() for separate background and foreground and other tricks.

Syntax:

function OVR()
  --Draw foreground
end

Example:

-- title:  Overlap demo
-- author: librorumque
-- desc:   OVR() example 
-- script: lua

PALETTE_ADDR=0x03FC0
CHANGE_COL=8
SCR_HEI=136

x=96
y=24

function SCN(line)
  --[[
    Gradient background
  ]]
  local color=(0xff*line/SCR_HEI)//32*32
  poke(PALETTE_ADDR+3*CHANGE_COL, color)
end

function OVR()
  --[[
    This sprite uses the same blue as the
    background, but it's not affected by
    scanline() palette swap
  ]]
  spr(1,x,y,14,3,0,0,2,2)
end

function TIC()
  cls(8)
  print("OVR() example", 85, 3)
  print("Press up or down to move the sprite", 22, 10)
  if btn(0) then y=y-1 end
  if btn(1) then y=y+1 end
end
Clone this wiki locally