export default function crownComp(obj) {
return {
id: "crownComp",
require: ["pos", "area"],
hasScissors: chance(0.2),
velocity: rand(10, 30),
directionX: 0,
directionY: 0,
horAcceliration: 0,
vertAcceliration: 0,
horSpeed: 0,
vertSpeed: 0,
add() {
if (this.hasScissors) {
let scissors = this.add([
anchor("center"),
pos(0,4),
sprite("crown"),
])
scissors.play("scissors")
scissors.onUpdate(() => {
scissors.flipX = this.flipX
})
}
},
update() {
this.directionX = Math.sign(obj.pos.x - this.pos.x)
this.directionY = Math.sign(obj.pos.y - this.pos.y)
this.horAcceliration += this.directionX * (1/this.velocity) * dt() * 100
this.vertAcceliration += this.directionY * (1/this.velocity) * dt() * 100
this.horAcceliration = clamp(this.horAcceliration, -5, 5)
this.vertAcceliration = clamp(this.vertAcceliration, -5, 5)
this.horSpeed = clamp(1/2 * this.horAcceliration, -5, 5)
this.vertSpeed = clamp(1/2 * this.vertAcceliration, -5, 5)
this.move(vec2(this.horSpeed*100, this.vertSpeed*100))
this.flipX = this.horSpeed < 0
}
}
} Post #95
47
Самое время добавить ворон. Я не буду подробно описывать их работу и поведение просто покажу вам код их компонента. Они просто летят в сторону игрока с небольшой инерцией.
- ❤ 2