summaryrefslogtreecommitdiff
path: root/src/entities/hello_kitty_background.js
blob: 4d9a81f86db9f5b9ea52c0229204b52c4c63bb8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { Vector } from "../engine/vector.js"
import { BACKGROUND } from "../assets.js"
import { Entity } from "../entities/entity.js"
import { Engine } from "../engine.js"

export class HelloKittyBackground extends Entity {
    speed = 20
    stage = 0

    constructor(position = null) {
        let size = new Vector(1300, 2080)
        let x_margin = 0
        if (position == null) position = new Vector(
                size.x / 2 + Engine.screen.viewport / 2 - x_margin,
                - (size.y / 2) + Engine.screen.viewport.y,
        )
        super({
            //size: new Vector(650, 1040),
            size: size,
            position: position,
            sprite: BACKGROUND.KITTY,
        })
        this.span.style.zIndex = -3
        this.max_down = (this.size.y / 2)
        this.x_margin = x_margin
    }

    update() {
        this.position.y += this.speed
        if (this.stage == 0 && this.position.y > this.max_down) {
            let margin = this.position.y - this.max_down
            let newPos = new Vector(
                this.size.x / 2 - this.x_margin,
                - (this.size.y / 2) + margin
            )

            new HelloKittyBackground(newPos)
            this.stage++
        }
    }
}