feat: 50 игр на Lua + импорт Roblox для всех + поддержка Lua в плеере #39
@ -3366,7 +3366,7 @@ game.self.onTouch(() => {
|
|||||||
|
|
||||||
<h3 className="lessonH">Шаг 2. Главный скрипт</h3>
|
<h3 className="lessonH">Шаг 2. Главный скрипт</h3>
|
||||||
<ScriptKind kind="global" />
|
<ScriptKind kind="global" />
|
||||||
<Code>{`// === ИГРА «ПАДАЮЩИЙ МОСТ» — главный скрипт ===
|
<CodeBoth game="falling-bridge" script="g24_main">{`// === ИГРА «ПАДАЮЩИЙ МОСТ» — главный скрипт ===
|
||||||
|
|
||||||
let won = false;
|
let won = false;
|
||||||
|
|
||||||
@ -3392,7 +3392,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>
|
||||||
Главный скрипт <code>game.onTick</code> каждый кадр
|
Главный скрипт <code>game.onTick</code> каждый кадр
|
||||||
следит за высотой игрока: упал ниже -3 — провалился
|
следит за высотой игрока: упал ниже -3 — провалился
|
||||||
@ -3405,14 +3405,14 @@ game.onMessage('win', () => {
|
|||||||
<h3 className="lessonH">Шаг 3. Скрипт доски</h3>
|
<h3 className="lessonH">Шаг 3. Скрипт доски</h3>
|
||||||
<p>Этот скрипт вешается на <b>каждую</b> доску моста.</p>
|
<p>Этот скрипт вешается на <b>каждую</b> доску моста.</p>
|
||||||
<ScriptKind kind="object" on="каждую доску" />
|
<ScriptKind kind="object" on="каждую доску" />
|
||||||
<Code>{`// === Скрипт доски моста ===
|
<CodeBoth game="falling-bridge" script="g24_plank_1">{`// === Скрипт доски моста ===
|
||||||
let cracking = false;
|
let cracking = false;
|
||||||
game.self.onTouch(() => {
|
game.self.onTouch(() => {
|
||||||
if (cracking) return;
|
if (cracking) return;
|
||||||
cracking = true;
|
cracking = true;
|
||||||
game.sound.play('click');
|
game.sound.play('click');
|
||||||
game.after(1, () => { game.self.delete(); });
|
game.after(1, () => { game.self.delete(); });
|
||||||
});`}</Code>
|
});`}</CodeBoth>
|
||||||
<p>Разберём:</p>
|
<p>Разберём:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><code>cracking</code> — флажок-защёлка. Игрок может
|
<li><code>cracking</code> — флажок-защёлка. Игрок может
|
||||||
@ -3433,10 +3433,10 @@ game.self.onTouch(() => {
|
|||||||
|
|
||||||
<h3 className="lessonH">Шаг 4. Скрипт финиша и проверка</h3>
|
<h3 className="lessonH">Шаг 4. Скрипт финиша и проверка</h3>
|
||||||
<ScriptKind kind="object" on="зелёный финиш" />
|
<ScriptKind kind="object" on="зелёный финиш" />
|
||||||
<Code>{`// === Скрипт финиша ===
|
<CodeBoth game="falling-bridge" script="g24_finish">{`// === Скрипт финиша ===
|
||||||
game.self.onTouch(() => {
|
game.self.onTouch(() => {
|
||||||
game.broadcast('win');
|
game.broadcast('win');
|
||||||
});`}</Code>
|
});`}</CodeBoth>
|
||||||
<ul>
|
<ul>
|
||||||
<li>встал на доску — щелчок, через секунду она рушится;</li>
|
<li>встал на доску — щелчок, через секунду она рушится;</li>
|
||||||
<li>стоишь на месте — проваливаешься, респаун на старте;</li>
|
<li>стоишь на месте — проваливаешься, респаун на старте;</li>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user