Keep your place in this quest

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

Ваш скрипт может определять эти специальные функции, которые движок вызывает автоматически:

start()

Вызывается один раз, когда игра начинается. Используйте его для инициализации.

func start() {
    setScene(level1)
    setX(player, 100)
    setY(player, 100)
    print("Игра началась!")
}

onUpdate(dt)

Вызывается каждый кадр. Параметр dt — это дельта-время (время с последнего кадра в секундах).

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)
    }
}

Также UI рисуется из onUpdate(dt). Координаты UI используют виртуальное разрешение экрана. По умолчанию это пространство UI 100 x 100, и вы можете изменить его с помощью setUIResolutionX() и setUIResolutionY(). Размер шрифта, цвет шрифта и цвет элементов могут быть помещены в временные стековые кадры, пока вы создаете текущий интерфейс.

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("ПАУЗА", 6, 6)
    uiPopFontColor()
    uiPopFontSize()

    uiPushFontSize(2)
    uiPushFontColor(240, 245, 255)
    if (uiButton("ПРОДОЛЖИТЬ", 6, 12, 20, 6) == UI_CLICKED()) {
        paused = false
    }

    musicOn = uiToggle("МУЗЫКА", musicOn, 6, 20, 22, 6)
    uiPopFontColor()
    uiPopFontSize()

    volume = uiSlider("ГРОМКОСТЬ", volume, 0, 10, 6, 28, 24, 6)
    uiPopElementColor()
}

onCollision(objA, objB)

Вызывается, когда два объекта сталкиваются. objA всегда является динамическим или триггерным объектом (см. Система столкновений для деталей).

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

    if (nameA == "Игрок" && nameB == "Монета") {
        removeObject(level1, objB)
        score = score + 1
    }
}

end()

Вызывается, когда игра завершается.

func end() {
    print("Спасибо за игру!")
}