BeePlatform — Documentazione Tecnica
Sprite statico per i solidi:
color /
textureKey,
la fisica sta su collisions.solid
📁 Panoramica
BeePlatform è un BeeEntity che si
vede. Vive in src/gameplay/BeePlatform.js. Non
è un collider, non è un body, non è
resolvePlatformCollision. È un rettangolo
(o una texture) da mettere nel gruppo
solids. Chi cammina sopra è il
mover: il player (o chi ha
resolvePlatformCollision) contro quel
gruppo, via collisions.solid('player',
'solids').
La demo examples/demo.js lo dice in HUD:
tre platform a terra / 380 / 260, gruppo
solids, player in
platformer.
📁 Chi è solido
Senza i tre passi a destra è solo un rettangolo giallo. Ladybug lo vede, i piedi no.
-
1. sprite
new BeePlatform(x, y, w, h)AABB dagetWorldAABB. -
2. gruppo
setGroup('solids', […])+solid('player', 'solids'). -
3. run
collisions.run()chiamamover.resolvePlatformCollision(plat)(BeeEntity).
Niente update proprio: vale
BeeEntity.integrate. I default
vx/vy/gravity sono 0, quindi sta. Se li
accendi, cade o scivola come qualsiasi entity.
draw è in spazio mondo
(worldX/Y), save/restore,
getAsset con guardia. Senza texture: fill
color (default #ffd700),
fascia chiara in cima 3px, stroke nero.
📁 Dove è facile sbagliare
Crearla non basta. Senza
solid + run il player la
attraversa. Lo HUD della demo lo ricorda.
Niente one-way, niente moving. Il
landing “da sopra” sta in
BeeEntity.resolvePlatformCollision
(landingTolerance), non qui. Una platform
che si muove la sposti tu su
worldX/Y.
Prefab 'platform'. Il
type di stock fa new BeePlatform(x, y, w, h).
color e textureKey arrivano
dopo da applyFields, non dal
costruttore a 6 argomenti.
📁 Esempio: terra + mensola
📁 Riepilogo API
Estende BeeEntity. Nessun metodo di
fisica proprio.
| Membro | Ritorna | Scopo |
|---|---|---|
new BeePlatform(x, y, w?, h?, color?, textureKey?) |
BeePlatform |
Default 100×20, color
#ffd700, texture null. |
color / textureKey |
string / string o null | Fill se manca l’asset. Texture da
engine.getAsset. |
draw(ctx, engine) |
— | Mondo, save/restore, guardia
getAsset. Early-return senza
ctx. |
collisions.solid(movers, solids) |
— | Non è un metodo della platform: è lì che diventa un pavimento. |
prefabs.type('platform') |
classe | new (x, y, w, h). Color e
sprite da spec / applyFields. |