BeeEnemy — Documentazione Tecnica
Pattuglia sull’asse X:
setPatrolBounds /
speed su
worldX
📁 Panoramica
BeeEnemy è un BeeEntity che
cammina in orizzontale. Vive in
src/gameplay/BeeEnemy.js. Non è un
fighter: niente HP, niente takeDamage, niente
Y. L’ostilità la dà il gruppo di collisione (in demo:
hazards).
v2.8.4: update esce se spento, cade su
worldX, i bound sono un muro (clamp +
inversione), a destra conta
worldX + width. Test in
scripts/test-beeenemy.mjs.
📁 Update: early-return, mondo, muro
speed === 0 è
“sto fermo”: BeeEnemyShooter ci conta
(lui usa vx/vy).
-
1. spento
destroyedo!active→ return. Niente passo, niente inversione. -
2. passo
worldX += speed * dt. Con un parent, locale e mondo non coincidono. -
3. muroOltre
maxX(bordo destro =worldX + width) o sottominX: clamp, poi invertespeed.
Poi super.update →
integrate(). Il costruttore lascia
vx/vy/gravity a zero. Se li accendi insieme a
speed, il moto si raddoppia. Senza
setPatrolBounds (minX/maxX
null) cammina dritto per sempre.
📁 Dove è facile sbagliare
Non è un combattimento. Nessun danno,
nessuna vita. Il player lo sente solo se lo metti in un
gruppo e fai overlap.
Non mischiare speed e
vx. Una sola fonte. Lo shooter
azzera speed apposta.
Il corridoio deve stare nella
larghezza. Se
maxX - minX < width i due clamp si
litiga: un frame a destra, il successivo a sinistra.
Niente pool hook. Non è
recycle/reset. Un
acquire su questa classe non ritela i
bound.
📁 Esempio: demo + parent
📁 Riepilogo API
Estende BeeEntity.
| Membro | Ritorna | Scopo |
|---|---|---|
new BeeEnemy(x, y, w?, h?, textureKey?) |
BeeEnemy |
Default 32×32, speed 50, minX/maxX null. |
setPatrolBounds(minX, maxX) |
— | Muri mondo. null = nessun
muro su quell’asse. |
speed |
number |
Pixel/secondo su X. Segno = verso. 0 = fermo (lo shooter). |
minX / maxX |
number o null | Sinistra = worldX. Destra =
worldX + width. |
update(dt, input, engine) |
— | Early-return se spento. Passo, clamp,
invert, super.update. |
draw(ctx, engine) |
— | getAsset(textureKey) o
rettangolo rosso. Guardia come lo
shooter. |