miaoda-game-beam-cocos
v0.2.0
Published
Cocos Creator skin for miaoda-game-beam-core: draws telegraph->fire->fade lasers with Graphics, driving their geometry and glow from the pure-TS beam lifecycle. The reusable rendering layer for boss lasers, laser towers and laser gates.
Maintainers
Readme
miaoda-game-beam-cocos
Use this Cocos Creator adapter to render miaoda-game-beam-core lasers as pooled Graphics nodes. It advances the beam lifecycle from the Cocos update loop, redraws each segment, and exposes the core hit query.
Install
pnpm add miaoda-game-beam-core miaoda-game-beam-cocosCocos Creator provides the optional cc peer dependency at runtime.
Spawn and aim a laser
import { BeamLayer } from 'miaoda-game-beam-cocos';
import { sweepAngle } from 'miaoda-game-beam-core';
const layer = beamRoot.addComponent(BeamLayer).setup({
fireColor: { r: 120, g: 210, b: 255, a: 255 },
});
const beam = layer.spawn({
origin: bossPosition,
angleDeg: -60,
length: 900,
width: 40,
telegraph: 1,
fire: 2,
fade: 0.4,
});
// BeamLayer.update(dt) is called by Cocos automatically.
const t = (beam.age - 1) / 2;
beam.aim(bossPosition, sweepAngle(-60, 60, t));
if (layer.beamsHitting(playerPosition, playerRadius).length > 0) {
damagePlayer();
}dt, telegraph, fire, and fade are seconds. The adapter creates and pools one drawable per live beam; your game does not need to manage those nodes.
Control and cleanup
layer.clearBeams(); // recycle all live beams
layer.liveCount;
layer.poolSize;setup replaces the current renderer and disposes its existing beam drawables. When the component is destroyed, it releases all drawables and becomes terminal; do not call spawn afterward.
Make sure the beam root uses a layer visible to the camera that should display the attack. The adapter renders geometry and reports active hits, but your game still decides damage, invulnerability, and hit de-duplication.
