docs: CodeBoth для урока 21 «Преследователь» (main+finish)

This commit is contained in:
min 2026-06-09 21:25:52 +03:00
parent ea1308d539
commit cbc4b87643

View File

@ -2910,7 +2910,7 @@ enemyData.forEach((d) => {
не догнал ли он игрока. не догнал ли он игрока.
</p> </p>
<ScriptKind kind="global" /> <ScriptKind kind="global" />
<Code>{`// === ИГРА «ПРЕСЛЕДОВАТЕЛЬ» — главный скрипт === <CodeBoth game="chaser" script="g21_main">{`// === ИГРА «ПРЕСЛЕДОВАТЕЛЬ» — главный скрипт ===
let won = false; let won = false;
@ -2952,7 +2952,7 @@ game.onMessage('win', () => {
const p = game.player.position; const p = game.player.position;
game.scene.spawnParticles('confetti', game.scene.spawnParticles('confetti',
{ x: p.x, y: p.y + 3, z: p.z }, { duration: 3, count: 3 }); { x: p.x, y: p.y + 3, z: p.z }, { duration: 3, count: 3 });
});`}</Code> });`}</CodeBoth>
<p>Разберём построчно:</p> <p>Разберём построчно:</p>
<ul> <ul>
<li><code>game.scene.spawnNpc('character-b', опции)</code> <li><code>game.scene.spawnNpc('character-b', опции)</code>
@ -2976,10 +2976,10 @@ game.onMessage('win', () => {
<h3 className="lessonH">Шаг 3. Скрипт финиша</h3> <h3 className="lessonH">Шаг 3. Скрипт финиша</h3>
<ScriptKind kind="object" on="зелёный финиш" /> <ScriptKind kind="object" on="зелёный финиш" />
<Code>{`// === Скрипт финиша === <CodeBoth game="chaser" script="g21_finish">{`// === Скрипт финиша ===
game.self.onTouch(() => { game.self.onTouch(() => {
game.broadcast('win'); game.broadcast('win');
});`}</Code> });`}</CodeBoth>
<p> <p>
Когда игрок касается финиша, скрипт шлёт сообщение Когда игрок касается финиша, скрипт шлёт сообщение
<code> game.broadcast('win')</code>. Главный скрипт ловит <code> game.broadcast('win')</code>. Главный скрипт ловит