Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Seu script pode definir estas funções especiais que o motor chama automaticamente:

start()

Chamado uma vez quando o jogo começa. Use-o para inicialização.

func start() {
    setScene(level1)
    setX(player, 100)
    setY(player, 100)
    print("Jogo iniciado!")
}

onUpdate(dt)

Chamado a cada quadro. O parâmetro dt é o delta time (tempo desde o último quadro em segundos).

var speed = 100

func onUpdate(dt) {
    if (isKeyHeld(KEY_RIGHT())) {
        setX(player, getX(player) + speed * dt)
    }
    if (isKeyHeld(KEY_LEFT())) {
        setX(player, getX(player) - speed * dt)
    }
}

A UI também é desenhada a partir de onUpdate(dt). As coordenadas da UI usam uma resolução de tela virtual. Por padrão, esse espaço de UI é 100 x 100, e você pode mudá-lo com setUIResolutionX() e setUIResolutionY(). O tamanho da fonte, a cor da fonte e a cor dos elementos podem ser empilhados em pilhas temporárias por quadro enquanto você constrói a UI atual.

var musicOn = true
var volume = 5

func onUpdate(dt) {
    uiPushElementColor(28, 40, 70, 220)
    uiBox(3, 3, 30, 26)
    uiPushFontSize(3)
    uiPushFontColor(255, 220, 120)
    uiLabel("PAUSADO", 6, 6)
    uiPopFontColor()
    uiPopFontSize()

    uiPushFontSize(2)
    uiPushFontColor(240, 245, 255)
    if (uiButton("CONTINUAR", 6, 12, 20, 6) == UI_CLICKED()) {
        paused = false
    }

    musicOn = uiToggle("MÚSICA", musicOn, 6, 20, 22, 6)
    uiPopFontColor()
    uiPopFontSize()

    volume = uiSlider("VOLUME", volume, 0, 10, 6, 28, 24, 6)
    uiPopElementColor()
}

onCollision(objA, objB)

Chamado quando dois objetos colidem. objA é sempre um objeto Dinâmico ou Trigger (veja Sistema de Colisão para mais detalhes).

func onCollision(objA, objB) {
    var nameA = getName(objA)
    var nameB = getName(objB)

    if (nameA == "Jogador" && nameB == "Moeda") {
        removeObject(level1, objB)
        score = score + 1
    }
}

end()

Chamado quando o jogo é encerrado.

func end() {
    print("Obrigado por jogar!")
}