Algodoo скрипты: Бписок всСх ΠΊΠΎΠΌΠ°Π½Π΄/ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… — Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΈΠ½Π³ — Algodoo — ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ статСй — Algodoo || ΠšΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΠΉ ΠΈ ΠΌΠ΅Ρ€Ρ‚Π²Π΅ΠΉΡˆΠΈΠΉ Ρ„Π°Π½

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π£Ρ€ΠΎΠΊΠΈ Phun (Algodoo). Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ скриптов Π² Phun ΠΈ Algodoo

ВсС скрипты Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² скриптовом мСню ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Оно находится Π² контСкстном мСню ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Β«Script MenuΒ».

Π’ ΠΏΠΎΠ»Π΅ OnCollide ΡƒΠΆΠ΅ находится запись (e)=>{}. Π­Ρ‚Π° запись, ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ мнСнию, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ столкновСнии (пСрСмСнная E) выполнится (=> этот Π·Π½Π°ΠΊ) Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ находится Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках. Π’ эти скобки-Ρ‚ΠΎ ΠΌΡ‹ ΠΈ записываСм наш скрипт.

Допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ появился Π½Π΅ΠΊΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡƒΡΡ‚ΡŒ ΠΊΡ€ΡƒΠ³, Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π½Π°ΠΌΠΈ Ρ‚ΠΎΡ‡ΠΊΠ΅.

Π’ΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ 2 ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Один ΠΈΠ· Π½ΠΈΡ… ΠΌΡ‹ ΠΈ «заскриптуСм».

Наш скрипт выглядит Ρ‚Π°ΠΊ:

OnCollide = (e)=>{scene.addcircle{pos := e.pos; radius := 0.25; color := [1,1,1,1]; collideset := 1}}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ: Scene – ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ мСсто, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ‡Ρ‚ΠΎ — Π»ΠΈΠ±ΠΎ создастся. Π’ΠΎΡ‡ΠΊΠ° послС отдСляСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Add, которая Π·Π½Π°Ρ‡ΠΈΡ‚ Β«Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ». ДобавляСм ΠΌΡ‹ ΠΊΡ€ΡƒΠ³ –

Circle. Π”Π°Π»ΡŒΡˆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобочки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ запишСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ добавляСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. А ΠΈΠΌΠ΅Π½Π½ΠΎ Pos – это позиция (ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ [1,1], Ρ‚ΠΎΠ΅ΡΡ‚ΡŒ 1 ΠΏΠΎ оси X ΠΈ 1 ΠΏΠΎ Y), Π² нашСм случаС Epos ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «позиция столкновСния». Π”Π°Π»Π΅Π΅ ΠΈΠ΄Ρ‘Ρ‚ Π·Π½Π°ΠΊ Β«Ρ‚ΠΎΡ‡ΠΊΠ° с запятой», ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° поняла, Ρ‡Ρ‚ΠΎ дальшС ΠΈΠ΄Ρ‘Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Radius – это расстояниС ΠΎΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΊΡ€ΡƒΠ³Π° Π΄ΠΎ Π΅Π³ΠΎ края Π² ΠΌΠ΅Ρ‚Ρ€Π°Ρ…. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Color – это Ρ†Π²Π΅Ρ‚. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ CollideSet это Π½Π°Π±ΠΎΡ€ столкновСний, Π² нашСм случаС Ρ€Π°Π²Π½Ρ‹ΠΉ «А».

Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ слСдитС Π·Π° ошибками, любая лишняя, ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰Π°Ρ Π±ΡƒΠΊΠ²Π°, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π½Π°ΠΊΠΈ приводят ΠΊ ошибкС скрипта Π²Ρ†Π΅Π»ΠΎΠΌ!

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся с Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌΠΈ.

ВсСм извСстно, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ это – Π­Π’Πœ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ вСсти расчёты. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ значСния для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Π‘Π°ΠΌΡ‹ΠΌ простым ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅.

Π˜Ρ‚Π°ΠΊ, скрипт:

OnCollide (e)=>{e.other.density := e.other.density + e.other.density}

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ столкновСнии заскриптованого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с простым Ρƒ простого Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ Π΅Π³ΠΎ собствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ плотности. Допустим, это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Ρ€Π°Π²Π½ΠΎ 2, послС 1 столкновСния ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 2+2=4. ПослС 2 столкновСний – 4 + 4= 8. ПослС 3 столкновСний – 8+8 = 16. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΈ ΠΊ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТным вычислСниям.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся Π΅Ρ‰Ρ‘ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΊ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Phun ΠΈ Algodoo ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚.

Other – Π‘ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: «НС этот, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉΒ». Заскриптованый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ влияСт Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ столкнулся.

This — Π‘ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: «этот, Π° Π½Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉΒ». Заскриптованый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ влияСт Π½Π° сСбя ΠΈ Π½Π΅ влияСт Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ столкнулся.

Geom – ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ Π»Π°Π·Π΅Ρ€Π°ΠΌ, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π»Π°Π·Π΅Ρ€ влияСт Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈ Π½Π΅ влияСт Π½Π° сСбя.

Laser – ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ Π»Π°Π·Π΅Ρ€Π°ΠΌ, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π»Π°Π·Π΅Ρ€ влияСт Π½Π° сСбя, ΠΈ Π½Π΅ влияСт Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π˜Ρ‚Π°ΠΊ, Ссли Π²Ρ‹ поняли, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ нСпосрСдствСнно Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим случай, ΠΊΠΎΠ³Π΄Π° скриптовый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ находится Π½Π° расстоянии ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ относится. НСпонятно? Ну, ΠΌΠ½Π΅ Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ нСпонятно, Ссли Π±Ρ‹ я этого Π½Π΅ Π·Π½Π°Π».

Объясняю: Ρ‚Π°ΠΊΠΎΠΉ случай, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π°Π΄ΠΎ вывСсти ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄Π°Π»Ρ‘ΠΊΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π½Π° ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ с тСкстом. НапримСр, количСство ΠΏΠ°Ρ‚Ρ€ΠΎΠ½ΠΎΠ², ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, ΠΈΠ»ΠΈ Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ.

Для этого Π½Π°ΠΌ потрСбуСтся ввСсти свою ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ нСсти Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

НаТимаСм ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Β«Ρ‚ΠΈΠ»ΡŒΠ΄Π°Β» (Π‘ΡƒΠΊΠ²Π° «Ё» Π½Π° русской раскладкС, ΠΏΠΎΠ΄ эскСйпом). Π’Ρ‹Π»Π΅Π·Π»ΠΎ мСню, это командная строка. Π’Π°ΠΌ вписываСм Π½Π°ΡˆΡƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ –

Scene.my.X := 350. Π“Π΄Π΅ X – любой Π·Π½Π°ΠΊ, Ρ†ΠΈΡ„Ρ€Π°, ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ Π·Π½Π°ΠΊΠΎΠ²; А число 350 – Π±ΡƒΠ΄Π΅Ρ‚ количСством ΠΏΠ°Ρ‚Ρ€ΠΎΠ½ΠΎΠ².

Π˜Ρ‚Π°ΠΊ, наша систСма Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ количСствС ΠΏΠ°Ρ‚Ρ€ΠΎΠ½ΠΎΠ². ΠŸΡƒΡΡ‚ΡŒ 1 выстрСл Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ 2 ΠΏΠ°Ρ‚Ρ€ΠΎΠ½Π°. Выглядит Ρ‚Π°ΠΊ –
…Scene.my.Patron := Scene. my.Patron – 2…

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½Π°Π΄ΠΎ вывСсти ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΎΠ± ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΠΏΠ°Ρ‚Ρ€ΠΎΠ½Π°Ρ…. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π»Π°Π·Π΅Ρ€Ρ‹, Π½ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² скорости обновлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π΄Π΅Π»Π°Π΅ΠΌ Π΅Π³ΠΎ Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΌ, вписываСм любой тСкст. ПодгоняСм тСкст ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ, для удобства. К ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΡƒ, Π²Π΅Ρ€Π½Π΅Π΅ рядом с Π½ΠΈΠΌ, ΠΏΡ€ΠΈΠ²ΠΈΠ½Ρ‡ΠΈΠ²Π°Π΅ΠΌ осью с ΠΌΠΎΡ‚ΠΎΡ€ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ бСсконСчно ударял Π² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ (ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ с большой ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ).

Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ садим скрипт:

OnCollide = (e)=>{e.other.text := {β€œβ€ + scene.my.Patron} }

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅ Π² скриптовом мСню, Π² ΠΎΠΊΠ½Π΅

Text ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅

-{β€œβ€ + scene.my.Patron}

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊ пустому тСксту Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нашСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. И Π²ΠΎΡ‚ наш ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ΠΠ–ΠΠžΠ• ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•! Если Π²Ρ‹ сохранитС Π½Π΅ всю сцСну, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ вас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ, Ρ‚ΠΎ пСрСмСнная потСряСтся! Π•Ρ‘ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ снова Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² консоль, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ваши ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Ρ‹.

Algodoo — бСсплатная Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ лаборатория!

Algodoo — бСсплатная Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ лаборатория!
mntc wroteΒ in wikischool_ru
May 12th, 2013

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π» взят Ρƒ mntc Π² Algodoo — бСсплатная Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ лаборатория!

На ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· сайтов написано Ρ‚Π°ΠΊ: скачайтС эту ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Π΄Π΅Ρ‚Π΅ΠΉ. Но ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅ΠΌ — ΠΎΠ½Π° затягиваСт ΠΈ Π²Ρ‹ сами Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π² Π½Π΅Π΅ Π΄ΠΎΠ»Π³ΠΎ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ. Π’Π°ΠΊ ΠΈ Π²Ρ‹ΡˆΠ»ΠΎ.

Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Algodoo — бСсплатной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ всякиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΈ систСмы, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — ΠΈ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ Π²ΠΎ взаимодСйствиС Π² соотвСтствии с Π·Π°ΠΊΠΎΠ½Π°ΠΌΠΈ Ρ„ΠΈΠ·ΠΈΠΊΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° двухмСрная (Π½ΠΎ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ слоями), Π·Π°Ρ‚ΠΎ вСсьма быстрая ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ интСрфСйс Ρ‚ΠΈΠΏΠ° Paint, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ Π±Π΅Π· особых Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ.

Π’ΠΎΡ‚ исходная составлСнная мною Π½Π° ΡΠΊΠΎΡ€ΡƒΡŽ Ρ€ΡƒΠΊΡƒ сцСна. Π’ΡƒΡ‚ Π΅ΡΡ‚ΡŒ Π»Π°Π·Π΅Ρ€, ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΠΈ ΠΈΠ· стСкла, сквозь ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ Π·Π°ΠΊΠΎΠ½Π°ΠΌ ΠΎΠΏΡ‚ΠΈΠΊΠΈ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ΄Ρ‹, всякая всячина ΠΈ Ragdoll — Ρ‡Ρ‚ΠΎ пСрСводится ΠΊΠ°ΠΊ тряпичная ΠΊΡƒΠΊΠ»Π° — пСрсонаТ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, для пилотирования Π½Π°ΡˆΠΈΡ… ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

НаТимаСм ΠΊΠ½ΠΎΠΏΠΎΡ‡ΠΊΡƒ «Start simulation», ΠΈ…. всС ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅!

Π’ΠΎΠ΄Π° Ρ‚Π΅Ρ‡Π΅Ρ‚, ΠΏΡ€ΠΎΠ²ΠΎΠ»ΠΎΠΊΠ° слСва сминаСтся ΠΏΠΎΠ΄ собствСнным вСсом, Π³ΠΈΡ€ΠΈ ΠΈ ΠΏΡ€ΡƒΠΆΠΈΠ½Ρ‹ Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΊΠ°ΠΊ Π³ΠΈΡ€ΠΈ ΠΈ ΠΏΡ€ΡƒΠΆΠΈΠ½Ρ‹, Π»ΡƒΡ‡ искривляСтся, ΠΊΡƒΠΊΠ»Π° ΠΏΠ°Π΄Π°Π΅Ρ‚. Π’ΠΎΡ‚ снимок Π΅Ρ‰Π΅ Ρ‡Π΅Ρ€Π΅Π· нСсколько сСкунд:

Π’ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ всС это выглядит ΠΊΡƒΠ΄Π° Π±ΠΎΠ»Π΅Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΈ интСрСсно. Π― Π±Ρ‹ снял Π²ΠΈΠ΄Π΅ΠΎ, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ΠΌΠΎΠ΅ΠΌ нСсоврСмСнном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΡ€ΠΈΡ‚ΠΎΡ€ΠΌΠ°ΠΆΠΈΠ²Π°Π΅Ρ‚, ΠΈ получаСтся Π½Π΅ красиво, Π»ΡƒΡ‡ΡˆΠ΅ всС это Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ сами установив Algodoo.

ΠŸΡ€ΠΈ всСй Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ простотС, Ρ„ΠΈΠ·ΠΈΠΊΠ° модСлируСтся Π½Π° ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСрСвянный ΠΈ ΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΡˆΠ°Ρ€Ρ‹ (ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹) ΠΈ ΡƒΡ€ΠΎΠ½ΠΈΠΌ ΠΈΡ… Π² Смкости с Π²ΠΎΠ΄ΠΎΠΉ (ΠΎ Π΄Π°, Ρ‚Π°ΠΌ довольно рСалистично модСлируСтся Π²ΠΎΠ΄Π° Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… количСствах!).

Π‘Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΡˆΠ°Ρ€ (справа) ΠΏΠ°Π΄Π°Π΅Ρ‚ Ρ‡ΡƒΡ‚ΡŒ быстрСС — ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρƒ нас Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° опция ΡƒΡ‡Π΅Ρ‚Π° сопротивлСния Π²ΠΎΠ·Π΄ΡƒΡ…Π°. МоТно Π΅Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π˜Ρ‚Π°ΠΊ. ΡˆΠ°Ρ€Ρ‹ Π΄ΠΎΡΡ‚ΠΈΠ³Π°ΡŽΡ‚ Π²ΠΎΠ΄Ρ‹ ΠΈ с Ρ€Π°Π·Π³ΠΎΠ½Ρƒ ΠΏΠ»ΡŽΡ…Π°ΡŽΡ‚ΡΡ Π² Π½Π΅Π΅:

Π‘Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΡˆΠ°Ρ€ ΠΏΡ€ΠΎΡ€Π΅Π·Π°Π΅Ρ‚ Ρ‚ΠΎΠ»Ρ‰Ρƒ Π²ΠΎΠ΄Ρ‹ Π΄ΠΎ Π΄Π½Π° сосуда, ΠΈ отскакиваСт ΠΎΡ‚ Π½Π΅Π³ΠΎ, создавая большоС количСство Π±Ρ€Ρ‹Π·Π³, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ дСрСвянный своим ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ лишь нСбольшой всплСск. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²ΠΎΠ΄Π° Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡƒΡΠΏΠΎΠΊΠΎΠΈΠ»Π°ΡΡŒ, сцСна приняла ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄, Π² ΠΏΠΎΠ»Π½ΠΎΠΌ соотвСтствии с Π·Π°ΠΊΠΎΠ½Π°ΠΌΠΈ АрхимСда:

ВсС это позволяСт быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ часы:

На ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ трассСр — элСмСнт, ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π·Π° собой слСд для отслСТивания Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ значСния, Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ стрСлки ΠΈ Ρ‚.ΠΏ. Π­Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈΠ΄Π΅ΠΈ «Π½Π° Π»Π΅Ρ‚Ρƒ». Β Π―, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сразу ΠΆΠ΅ воспользовался трассСром для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ своСй ΠΈΠ΄Π΅ΠΈ ΠΏΡ€ΠΎ Ρ„Ρ€Π°ΠΊΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠΎΡ€Ρ‹ качСния — способ соСдинСния ΠΌΠ½ΠΎΠ³ΠΈΡ… подшипников, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠ³Π»Π°Π΄ΠΈΡ‚ΡŒ нСровности Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ самодСльного станка с ЧПУ. ВрассСр ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ башня, установлСнная Π½Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠ΅ двиТСтся ΠΏΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ»Π°Π²Π½ΠΎΠΉ ΠΊΡ€ΠΈΠ²ΠΎΠΉ, Ρ‡Π΅ΠΌ Ρ‚Π°, Ρ‡Ρ‚ΠΎ описываСт Ρ„ΠΎΡ€ΠΌΡƒ мСстности:

Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстро Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои изобрСтСния ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΡŽ ΠΈΡ… «Π² ΠΌΠ΅Ρ‚Π°Π»Π»Π΅». Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ сдСлал красивый, управляСмый с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΏΠ»Π°Π½Π΅Ρ‚ΠΎΡ…ΠΎΠ΄:

Π’ΠΎΡ‚ ссылка Π½Π° Ρ„Π°ΠΉΠ» сцСны этого ΠΏΠ»Π°Π½Π΅Ρ‚ΠΎΡ…ΠΎΠ΄Π°, располоТСнный Π² Algobox — ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΌ ΠΎΠ½Π»Π°ΠΉΠ½-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ дСсятков тысяч созданных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ сцСн ΠΈ конструкций. Π§Π΅Π³ΠΎ Ρ‚Π°ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ Π½Π°ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈ! Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Ρ€Π΅Ρ…Π½ΠΎΠ³ΠΈΠΉ ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…Π½ΠΎΠ³ΠΈΠΉ ΡˆΠ°Π³Π°ΡŽΡ‰ΠΈΠ΅ Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹, ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Π΅ прСпятствия.

А Π²ΠΎΡ‚ пнСвматичСская Π²ΠΈΠ½Ρ‚ΠΎΠ²ΠΊΠ°, способная ΡΡ‚Ρ€Π΅Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ автоматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π² зависимости ΠΎΡ‚ полоТСния ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ (Ρ„Π°ΠΉΠ»):

А Π²ΠΎΡ‚ футуристичСская Ρ‡ΡƒΠ΄ΠΎ-ΠΏΡƒΡˆΠΊΠ°, которая Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ автоматичСски выбрасываСт Π³ΠΈΠ»ΡŒΠ·Ρ‹ ΠΈ ΠΏΠΎΠ΄Π°Π΅Ρ‚ ΠΏΠ°Ρ‚Ρ€ΠΎΠ½Ρ‹, Π½ΠΎ ΠΈ сама мСняСт ΠΎΠ±ΠΎΠΉΠΌΡ‹ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости (Ρ„Π°ΠΉΠ»):

Много Ρ‚Π°ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ€Π°Π·Π½Ρ‹Ρ… Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ, насосов, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡, автоматичСских Π»ΠΈΠ½ΠΈΠΉ ΠΈ Ρ‚.

ΠΏ.:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° рассчитываСт Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠΏΡ‚ΠΈΠΊΡƒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ прСломлСния, ΡƒΠ³Π»ΠΎΠ², диспСрсии ΠΈ всСго Ρ‚Π°ΠΊΠΎΠ³ΠΎ. Π’ΠΎΡ‚ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π΅ΡΡ‚ΡŒ такая сцСнка:

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΠΌ ΠΎΠ²Π°Π»ΡŒΠ½ΡƒΡŽ Π»ΠΈΠ½Π·Ρƒ посСрСдинС — Ρ‚ΡƒΡ‚ ΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

А Ρ‡Ρ‚ΠΎ Ссли ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ Π»Π°Π·Π΅Ρ€Π½ΠΎΠ³ΠΎ Π»ΡƒΡ‡Π°? Π§Π°ΡΡ‚ΡŒ спСктра исчСзнСт:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ прСломлСния ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΏΡ€ΠΈΠ·ΠΌΡ‹ — ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ интСрСсный эффСкт ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ отраТСния (ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ курсором рСгулятор показатСля прСломлСния ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ мСняСтся ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°):

МоТно ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ слоТныС ΠΈ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ оптичСскиС экспСримСнты. ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Ссли ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΡƒΡ‡Ρƒ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹Ρ… ΡˆΠ°Ρ€ΠΈΠΊΠΎΠ² ΠΈ слСгка Π²ΠΎΡ€ΠΎΡˆΠΈΡ‚ΡŒ, Ρ‚ΠΎ Π»Π°Π·Π΅Ρ€Π½Ρ‹ΠΉ Π»ΡƒΡ‡, проходящий Ρ‡Π΅Ρ€Π΅Π· эту ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π·ΠΈΠ³Π·Π°Π³ΠΈ ΠΌΠΎΠ»Π½ΠΈΠΈ:

А Π΅Ρ‰Π΅ Π»Π°Π·Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π–ΠΈΠ»ΠΈ-Π±Ρ‹Π»ΠΈ ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΠΈ:

ПослС Π»Π°Π·Π΅Ρ€Π½ΠΎΠΉ Ρ€Π΅Π·ΠΊΠΈ Π½ΠΈΠΆΠ½ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΊΠΈ ΠΎΡ‚ΠΏΠ°Π»ΠΈ, Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π½ΡƒΠ»ΠΈΡΡŒ Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с наимСньшСй ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ энСргиСй:

ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΌ ΠΏΠΎΡ…ΠΎΠ΄ΠΊΡƒ ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Ρ…, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ — ΠΏΠΎΠ»Π΅Ρ‚Ρ‹ самолСтов, Π° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ нарисовал Π΄Π΅Ρ‚Π°Π»ΠΈ конструктора Π›Π΅Π³ΠΎ:

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅ΡΡ‚ΡŒ простой скриптовый язык программирования Thyme, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ…ΠΈΡ‚Ρ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, явлСния ΠΈ физичСскиС эффСкты, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠΈ Π² модСлях (cΠΌ. русскоязычноС Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Thyme). НапримСр, Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ слСва прСдставлСн Π½Π°Π±ΠΎΡ€ созданных ΠΊΠ΅ΠΌ-Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ скриптов футуристичСских Π²ΠΈΠ΄ΠΎΠ² оруТия, выстрСлом ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… , ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΊ «Π’яТСлая протонная ΠΏΡƒΡˆΠΊΠ°» Ρ€Π°Π·Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ башня справа. Быстро лСтящий свСтлый ΠΊΠΎΠΌΠΎΡ‡Π΅ΠΊ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ² башни ΠΈ Π΅ΡΡ‚ΡŒ, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ сгусток ΠΏΡ€ΠΎΡ‚ΠΎΠ½ΠΎΠ².

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — Π»ΠΎΠ³ΠΈΠΊΡƒ, ΠΏΠ»Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π»Π°Π·Π΅Ρ€ΠΎΠΌ, ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€… Ρ…ΠΈΠΌΠΈΡŽ:

Данная сцСна позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с 11 вСщСствами состоящими ΠΈΠ· Ρ€Π°Π·Π½ΠΎΡ†Π²Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΡ€ΡƒΠΏΠΈΠ½ΠΎΠΊ. ΠŸΡ€ΠΈ соприкосновСнии ΠΊΡ€ΡƒΠΏΠΈΠ½ΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² ΠΊΡ€ΡƒΠΏΠΈΠ½ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°, Π² ΠΎΠ±Ρ‰Π΅ΠΌ, Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚. ΠœΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π³Π°Π· — ΠΊΡ€ΡƒΠΏΠΈΠ½ΠΊΠΈ Π»Π΅Π³Ρ‡Π΅ Π²ΠΎΠ·Π΄ΡƒΡ…Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‚ Π²Π²Π΅Ρ€Ρ….

Π•ΡΡ‚ΡŒ Π² Algodoo ΠΈ совсСм ΡƒΠΆΠ΅ Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НапримСр, ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΠΌ Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ΠΏΠΎΠ»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ… Π½Ρƒ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Ρ‹Π±Ρ‹. ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΈ тСкстурой Ρ€Ρ‹Π±Ρ‹ (Ρ„ΠΎΠ½ рисунка удалился автоматичСски):

ΠœΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΅Π΅ физичСскими свойствами. Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π΅Π΅ потяТСлСС, помягчС, ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΡΠΈΠΌΡƒΠ»ΡΡ†ΠΈΡŽ. Π Ρ‹Π±Π° Π½Π΅ просто ΡƒΠΏΠ°Π»Π°, Π½ΠΎ обмякла, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π°Π΅Ρ‚ Ρ€Ρ‹Π±Π΅:

Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Π·Π° хвост, ΠΏΠΎΠ΄Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈ Ρ‚.ΠΏ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ этом Π½Π° Π΄Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Ρ€Ρ‹Π±Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ стала Ρ‡Π°ΡΡ‚ΡŒΡŽ сцСны, ΠΈ взаимодСйствуСт со всСми Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ:

Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ с ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Ρ‹ΠΌΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρ‹, ΠΌΡƒΠ»ΡŒΡ‚Ρ„ΠΈΠ»ΡŒΠΌΡ‹, ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ пособия ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. ОсобСнно Ρ…ΠΎΡ€ΠΎΡˆΠ° ΠΏΠΎ-ΠΌΠΎΠ΅ΠΌΡƒ, эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для практичСских Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠΎ Π’Π Π˜Π—, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌ устранСния тСхничСских ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠΉ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π»ΡƒΠ½Π° Π½Π° высотС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΈ Π½Π°Π΄ΠΎ с Π½Π΅Π΅ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Π³Ρ€ΡƒΠ½Ρ‚Π° ΠΈ Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° космодром. МнС Π»ΠΈΡ‡Π½ΠΎ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ сразу:

ΠŸΡ€ΡƒΠΆΠΈΠ½Π½Ρ‹Π΅ подвСски ΠΊΠ°Π±ΠΈΠ½Ρ‹ ΠΈ Π΅Π΅ мягкая ΠΎΠ±ΠΈΠ²ΠΊΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΡƒΠΆΠΈΠ½Π½Ρ‹Π΅ Π»Π°ΠΏΠΊΠΈ Ρ€Π°ΠΊΠ΅Ρ‚Ρ‹ появились Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ воздСйствия Π½Π΅Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹Ρ… посадок ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΎΠΊ Π½Π° космонавта. Π§Π΅Ρ‚Ρ‹Ρ€Π΅ двигатСля обСспСчили с Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π°ΠΊΠ΅Ρ‚Ρ‹ Π² пространствС. БистСма Π·Π°Π±ΠΎΡ€Π° Π³Ρ€ΡƒΠ½Ρ‚Π° Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΠ»Π° Π½Π΅ΠΌΠ°Π»ΠΎ Ρ…Π»ΠΎΠΏΠΎΡ‚ — Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹ΠΉ процСсс Π½Π°Π»ΠΈΡ†ΠΎ. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Ρ€Π°ΠΊΠ΅Ρ‚Π° всС-Ρ‚Π°ΠΊΠΈ Π±Π΅Ρ€Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Π³Ρ€ΡƒΠ½Ρ‚Π°, Π½ΠΎ с ΠΊΠ°Π±ΠΈΠ½ΠΎΠΉ ΠΈ космонавтом послС соударСния ΠΎΠ± Π›ΡƒΠ½Ρƒ явно Π½Π΅ всС Π² порядкС:

На ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΠΌΠΎΠΆΠ½ΠΎ бСсплатно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Windows, Mac ΠΈ iPad.

ВСрсия для Linux называСтся Phun ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скачана Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΡƒΡ‚.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Algodoo стала бСсплатной всСго ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄, Π° Π΄ΠΎ этого стоила, говорят, нСдСшСво.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, полагаю, ΠΌΠ½ΠΎΠ³ΠΎ-ΠΌΠ½ΠΎΠ³ΠΎ-ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Π·Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ часов Π²Π°ΠΌ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ πŸ™‚

Бсылки Π½Π° рСсурсы:


  • ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт: http://algodoo.com

  • Русскоязычный Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ сайт: http://algophun.3dn.ru/

  • БообщСство Π² Π–Π–: algodoo

  • Π“Ρ€ΡƒΠΏΠΏΠ° Π² ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅: http://vk.com/algodoo

Tags: it, Π’Π Π˜Π—, Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, домашнСС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, Π·Π°Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π½Π°ΡƒΠΊΠ°, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Π½Π°ΡƒΡ‡-ΠΏΠΎΠΏ, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±ΡƒΡ‡Π°Π»ΠΊΠΈ, ΠΎΠΏΡ‹Ρ‚Ρ‹, пСрСпост, развлСчСния, симуляторы, Ρ„ΠΈΠ·ΠΈΠΊΠ°, экспСримСнт

Вимьян | Алгоду Π’ΠΈΠΊΠΈ | Fandom

Thyme β€” собствСнный язык программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Algodoo. Доступ ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ консоли, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Ρ‚ΠΈΠ»ΡŒΠ΄Ρ‹ (~) Π² Windows ΠΈΠ»ΠΈ Mac. К Π½Π΅ΠΌΡƒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ Π² мСню Β«Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉΒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • 1 Π Π°Π±ΠΎΡ‚Π° с Ρ‚ΠΈΠΌΡŒΡΠ½ΠΎΠΌ
    • 1.1 Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
    • 1.2 Π’ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
    • 1.3 Онколлайд
    • 1.4 ИзмСнСниС свойств Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
    • 1.5 Если-Π±Π»ΠΎΠΊΠΈ
      • 1.5.1 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… событий
    • 1.6 МСняСм ΠΌΠΈΡ€ с Ρ‚ΠΈΠΌΡŒΡΠ½ΠΎΠΌ
    • 1.7 Бписок ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Thyme
    • 1,8 ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€Ρ‹
    • 1.9 Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…
    • 1.10 Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ссылки:

Thyme β€” собствСнный язык программирования Π² Algodoo. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ наступлСнии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… событий. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ события:

  • onClick β€” срабатываСт ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.
  • onCollide β€” срабатываСт, ΠΊΠΎΠ³Π΄Π° этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сталкиваСтся с Π΄Ρ€ΡƒΠ³ΠΈΠΌ.
  • onDie β€” срабатываСт ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
  • onHitByLaser β€” срабатываСт, Ссли Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π»Π°Π·Π΅Ρ€Π½Ρ‹ΠΉ Π»ΡƒΡ‡.
  • onLaserHit β€” срабатываСт, ΠΊΠΎΠ³Π΄Π° Π»ΡƒΡ‡ Π»Π°Π·Π΅Ρ€Π° ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.
  • onSpawn β€” срабатываСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ загруТаСтся Π² Algodoo.
  • onKey β€” срабатываСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ клавиша. Π‘Π΅Π· Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… сцСнариСв это сработаСт нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, какая это Π±Ρ‹Π»Π° клавиша.
  • postStep β€” срабатываСт Π²ΠΎ врСмя выполнСния ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ Π² соотвСтствии с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ HZ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ.
  • ОбновлСниС
  • β€” Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ postStep, Π½ΠΎ срабатываСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° симуляция Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π°.

ИспользованиС Thyme для ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ осмыслСнных дСйствий Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ простого синтаксиса, основанного Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ:

 пСрСмСнная = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
 

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая ΠΈΠΌΠ΅Π΅Ρ‚ свойства для всСй сцСны (записываСтся ΠΊΠ°ΠΊ scene.my.nameHere), Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ локального ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, хранящСйся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (записываСтся ΠΊΠ°ΠΊ _nameHere).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ запись ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ пСрСмСнная Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π½Π΅ постоянной. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ написаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ваши сцСны Algodoo с использованиСм Thyme Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π›ΡŽΠ±Π°Ρ назначСнная пСрСмСнная scene.my (ΠΏΡ€ΠΈΠΌΠ΅Ρ€: scene.my.theNumber) Π±ΡƒΠ΄Π΅Ρ‚ сохранСна Π² сцСнС. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° сцСны Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ Π»ΡŽΠ±ΡƒΡŽ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с Π΅Π΅ послСдним Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

ИспользованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ свойств Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сцСны Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π½Π°Π» имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. НапримСр, scene.camera.pan β€” это имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранится ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… свойств ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

БущСствуСт Π΄Π²Π° способа использования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² вашСго Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

 e.this.pos = e.pos;
 

эл. — Π‘ΡΡ‹Π»Π°ΡΡΡŒ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ собраны Π² Π½Π°Ρ‡Π°Π»Π΅ события

это. — ссылка Π½Π° этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

pos β€” с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ pos, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉ Π·Π° ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

= e.pos; — присвоСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ событиС, ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ символом ;

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ПослС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ссли Π½Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобки. Для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ форсирования Π½ΠΎΠ²ΠΎΠΉ строки Π² ΠΎΠΊΠ½Π΅ скрипта Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Shift+Return ΠΈΠ»ΠΈ Control+Return. Волько return заставляСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ измСнСния, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ сбрасывая ΠΈΡ… ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ошибок.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ постоянными ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

 _foo = 45;
 

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ «_foo», Ссли ΠΎΠ½Π° Π΅Ρ‰Π΅ Π½Π΅ создана, ΠΈ присваиваСт Π΅ΠΉ Π½ΠΎΠΌΠ΅Ρ€ 45.

ВсС постоянныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠΈ (ΠΈΠ»ΠΈ символС «_») Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ сохранСна ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

 Π±Π°Ρ€ = e.other.geomid;
 

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«barΒ», которая сущСствуСт Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ закончится тСкущая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΈ присваиваСт Π΅ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Β«Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎΒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (доступного Π² onCollide).

Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ спСцификации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ области . ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости β€” это ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится пСрСмСнная. ВсС, Ρ‡Ρ‚ΠΎ находится Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ скобок, содСрТащих ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, нСдоступно.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π—Π°ΠΏΠΈΡΡŒΒ := вмСсто = Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная создаСтся вмСсто записи Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² большСй области. Π­Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ использовании ΠΊΠΎΠΌΠ°Π½Π΄ addObject, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² вновь созданной Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Ρ‚. Π΅. Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ установку ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ исполняСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°).

Π’ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Algodoo Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏΠΎΠ², Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ динамичСски ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· нСобходимости привСдСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ. НСкоторыС основныС Ρ‚ΠΈΠΏΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Algodoo:

Π¦Π΅Π»ΠΎΠ΅ число — Число Π±Π΅Π· дСсятичных Ρ†ΠΈΡ„Ρ€:

 _hs = 64;
 

ΠŸΠ»Π°Π²Π°ΡŽΡ‰Π°Ρ β€” число, содСрТащСС дСсятичныС Ρ†ΠΈΡ„Ρ€Ρ‹:

 ΠΌΠ°Ρ‚.ΠΏΠΈ = 3,14;
 

Π‘Ρ‚Ρ€ΠΎΠΊΠ° β€” Π¦Π΅ΠΏΠΎΡ‡ΠΊΠ° символов, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ тСкста. НазначаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «»:

 scene.my.wikia = "Algodoo Wiki";
 

Boolean β€” пСрСмСнная, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ состояния True ΠΈ False:

 _visible = истина;
 


Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, часто содСрТащиС Π²Π·Π°ΠΌΠ΅Π½ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

Массив β€” пСрСмСнная, содСрТащая нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ любого Ρ‚ΠΈΠΏΠ° Π² Π²ΠΈΠ΄Π΅ списка. НазначаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ отдСляСтся запятой. ЗначСния, содСрТащиСся Π²Π½ΡƒΡ‚Ρ€ΠΈ массива, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚ΠΈΠΏΡƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

 _data = [1, 3.3, "Ошибок Π½Π΅ зафиксировано", [5.5, 2]];
 

Code β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ исполняСмый ΠΊΠΎΠ΄ Ρ‚ΠΈΠΌΡŒΡΠ½Π°. Код выполняСтся ΠΏΡƒΡ‚Π΅ΠΌ помСщСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠΎΠ΄. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ :

 _code = {e.this.text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€"};
 

Ѐункция β€” Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° Code, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Thyme являСтся исполняСмым. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Ѐункция сохраняСтся Π² Π²ΠΈΠ΄Π΅:

(ΠΏΠ°Ρ€1, ΠΏΠ°Ρ€2,…)=>{ΠΊΠΎΠ΄ здСсь}

 _function = (f, g)=>{f + g};
 

Код называСтся:

пСрСмСнная(ΠΏΠ°Ρ€1, ΠΏΠ°Ρ€2,…):

 e.other.pos = [0, _function(2, 3)];
 

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ использовалось Π² послСднСй строкС. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ f + g Π±ΡƒΠ΄Π΅Ρ‚ послСднСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрСчислСнныС Π²Ρ‹ΡˆΠ΅ события ΡΠ²Π»ΡΡŽΡ‚ΡΡ просто особым Ρ‚ΠΈΠΏΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ e, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ событии Π² Ρ„ΠΎΡ€ΠΌΠ΅ класса.

ΠšΠ»Π°ΡΡΡ‹ β€” СдинствСнный Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Они Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ массивы, с Ρ‚ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΈΡ… содСрТимоС Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Доступ ΠΊ ΠΈΡ… содСрТимому ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синтаксиса: var.content. Π₯отя Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ классы ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Thyme Π½Π΅ выполняСт автоматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ этому Ρ‚ΠΈΠΏΡƒ, ΠΎΠ½ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ классС. ЕдинствСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° класса, доступныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, β€” это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… события Β«eΒ». Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ глобальной ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Algodoo (scene.my, app.camera ΠΈ Ρ‚. Π΄.) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, относящихся ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. НапримСр: ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² тСкстовоС ΠΏΠΎΠ»Π΅ ΠΈΠ»ΠΈ использовании entityByGeomId().

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ элСктронного значСния события onClick Π² Π²ΠΈΠ΄Π΅ тСкста:

 ClassObject с Π΄Π΅Ρ‚ΡŒΠΌΠΈ:
количСство ΠΊΠ»ΠΈΠΊΠΎΠ² = 1;
ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ = лоТь;
ΠΏΠΎΠ· = [-1,6925424, 0,32110548];
это -> {
    ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΈ = 1,0;
    рСсурсы = [];
    врСмяТизни = ∞;
    textureClamped = [лоТь, лоТь];
    ...
 

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ e.this…, e.other…, e.pos ΠΈ Ρ‚. Π΄. ΠŸΡ€ΠΈ использовании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ события. Β«Π­Ρ‚Π°Β», «Другая» ΠΈ часто Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π° самом Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, хранящимися Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° класса e, ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊ Π½ΠΈΠΌ доступ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

OnCollide

ИзмСнСниС свойств Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ подвСргаСтся ΡƒΠ΄Π°Ρ€Ρƒ, часто Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ = 10 Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записана ΠΊΠ°ΠΊ: e.this.density = 10, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ для этого свойства, Π½ΠΎ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ΄ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°:

  (Π΅)=>{Π΅.другая.ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ = 10} 
 

Π­Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΏΠ°Π»ΠΈ, Π΄ΠΎ 10.

Π‘Π»ΠΎΠΊΠΈ if

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if β€” это Π·Π°Π΄Π°Ρ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ значСниями Π² зависимости ΠΎΡ‚ логичСского значСния. Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°. Бинтаксис:

 логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β ? Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1Β : Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2;
 

Π—Π½Π°ΠΊ вопроса, Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ синтаксис (Ρ‚ΠΎΡ‡ΠΊΠ° с запятой Ρ‚Π°ΠΊΠΆΠ΅ трСбуСтся, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π±Π»ΠΎΠΊΠΎΠ² if нСсколько, ΠΈ Π² этом случаС Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки, ΠΊΡ€ΠΎΠΌΠ΅ послСднСй). ЗначСния ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π°.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° If опрСдСляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ логичСского значСния ΠΈ, Π² зависимости ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, компилируСтся Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π»ΠΈΠ±ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ значСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌΠΈ значСниями (записанными Π² {}), Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, Ссли ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скомпилированы Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. ЛогичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ создаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ сравнСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ сравнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ объСдинСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния:

  • == — Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ€Π°Π²Π½ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Π­Ρ‚ΠΎ Π½Π΅ ограничиваСтся Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈΠ»ΠΈ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π­Ρ‚ΠΎ отличаСтся ΠΎΡ‚ =, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присваиваСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ вмСсто сравнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • >= β€” сравниваСт ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, большС Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.
  • <= β€” сравниваСт ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.
  • != β€” сравниваСт ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π½Π΅ Ρ€Π°Π²Π½ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Π­Ρ‚ΠΎ Π½Π΅ ограничиваСтся Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈΠ»ΠΈ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.
  • > β€” сравниваСт ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, большС Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
  • < β€” сравниваСт ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, мСньшС Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ΅.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, логичСскиС значСния ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ вычислСния.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

valueA && valueB && valueC… β€” истинно, Ссли ΠΎΠ±Π° значСния истинны, ΠΈ Π»ΠΎΠΆΠ½ΠΎ, Ссли Π½Π΅Ρ‚, Ρ‚Π°ΠΊΠΆΠ΅ извСстноС ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ AND

значСниСА || Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅B || valueC… — Π˜ΡΡ‚ΠΈΠ½Π½ΠΎ, Ссли истинно хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠΆΠ΅ извСстноС ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π˜Π›Π˜

! valueA — ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠΆΠ΅ извСстноС ΠΊΠ°ΠΊ NOT-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ IF-Π±Π»ΠΎΠΊΠΎΠ²:

 sim. running && e.this.vel(0) < 4Β ? {ΠΊΠΎΠ΄1}Β : {}
 

Π­Ρ‚ΠΎΡ‚ скрипт провСряСт sim.running, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π² Algodoo, которая хранится ΠΊΠ°ΠΊ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. sim.running ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ И (&&), Ρ‡Ρ‚ΠΎ заставляСт скрипт Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ x-ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚, двиТСтся Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ оси x Π½Π° 4 ΠΌΠ΅Ρ‚Ρ€Π° Π² сСкунду ΠΈΠ»ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Если ΠΎΠ±Π° Π²Π΅Ρ€Π½Ρ‹, , Ρ‚ΠΎ ΠΊΠΎΠ΄ 1 выполняСтся, ΠΈΠ½Π°Ρ‡Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ происходит.

 _hp <= 0 || _ΡƒΠΌΠ΅Ρ€Π΅Ρ‚ΡŒ ? {ΠΊΠΎΠ΄1}Β : {ΠΊΠΎΠ΄2}
 

сначала скрипт провСряСт, Ρ€Π°Π²Π½ΠΎ Π»ΠΈ _hp 0 ΠΈΠ»ΠΈ мСньшС, Π° Π·Π°Ρ‚Π΅ΠΌ провСряСт, истинно Π»ΠΈ _die. Если любой ΠΈΠ· Π½ΠΈΡ… Π²Π΅Ρ€Π΅Π½, ΠΎΠ½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ code1, ΠΈΠ½Π°Ρ‡Π΅ code2

 позиция = позиция (0) > 0Β ? [-2, 0]Β : [2, 0]
 

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ‚ pos [-2,0] ΠΈΠ»ΠΈ [2,0] Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, большС ΠΈΠ»ΠΈ мСньшС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x 0.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… событий

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ события Algodoo ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ функциями, встроСнными Π² исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС события, встроСнныС Π² ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ события, прСдоставляСмыС Algodoo. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для запуска ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ соблюдСнии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условий ΠΏΡ€ΠΈ сохранСнии ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ структуры всСго Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ использованиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ события onDamage, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰Π΅ΠΉ Π² Ρ€ΠΎΠ»ΠΈ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

 _onDamage = (Π΅)=>{
    _hp = _hp - e.dmg;
    e.other._score = e.other._score + e.dmg;
    _hp <= 0Β ? {
        врСмя ΠΆΠΈΠ·Π½ΠΈ = 0
    }Β : {}
}
 
 (Π΅) => {
    e.other.materialname == "bullet"Β ? {
        // ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°Β :=, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "dmg" Π² e
        e.dmgΒ := e.other._dmg;
        _onDamage (Π΅)
    }Β : {}
}
 

Как Π²ΠΈΠ΄Π½ΠΎ, событиС _onDamage ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ onCollide Π±Π΅Π· нСобходимости помСщСния ΠΊΠΎΠ΄Π° Π² Ρ‚ΠΎ ΠΆΠ΅ событиС. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ порядок Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ функциям. НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ события для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дСйствия, Π½Π° самом Π΄Π΅Π»Π΅ часто ΠΏΡ€ΠΎΡ‰Π΅ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ΅ событиС вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Однако основныС процСссы Π² ΠΊΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ.

ИзмСнСниС ΠΌΠΈΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΈΠΌΡŒΡΠ½Π°

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всю сцСну с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΈΠΌΡŒΡΠ½Π°.

НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сцСна Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° постоянно, помСстив это Π² update:

 (Π΅) => {sim.running = true}
 

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сцСна Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ останавливаСтся. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сцСну ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ сСбя, Ссли ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½, помСстив Π² OnDie ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

 (Π΅) => {scene.new}
 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΈΠ½ΠΈ-ΠΈΠ³Ρ€. НапримСр, «НС удаляйтС Π½Π΅ Ρ‚ΠΎΡ‚ Π±Π»ΠΎΠΊ!Β» ΠΌΠΈΠ½ΠΈ ΠΈΠ³Ρ€Ρ‹.

Бписок ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Thyme

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ список содСрТит ряд Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Thyme. Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ этому списку, смСло добавляйтС Π΅Π³ΠΎ, Ссли ΠΎΠ½ Π½Π΅ повторяСтся.

  • app.camera.* - Π—Π΄Π΅ΡΡŒ пСрСчислСны всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ
  • sim. gravity* β€” всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΡŽ, пСрСчислСны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ sim с прСфиксом Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ
  • .
  • Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ = math.atan2(e.other.pos(1)-pos(1),e.other.pos(0)-pos(0)) - ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΡƒΠ³ΠΎΠ» ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ соотвСтствСнно.
  • vel = vel + [0,sim.gravityforce]/sim.frequency + [math.sin(*Π£Π³ΠΎΠ» здСсь),-math.cos(*Π£Π³ΠΎΠ» здСсь)]*sim.gravityforce/sim.частота - НСйтрализуСт эффСкт стандартной Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ сцСны с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΈ примСняСт Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΡŽ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ ΡƒΠ³Π»Π΅ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. ΠžΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ 2-ю Ρ‡Π°ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ нСвСсомости.
  • rand.uniform01 β€” Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ случайноС Ρ†Π΅Π»ΠΎΠ΅ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΡ‚ 0 Π΄ΠΎ 1 со случайной Π΄Π»ΠΈΠ½ΠΎΠΉ
  • rand.normal β€” Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ rand.uniform01, Π½ΠΎ с Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ 50% ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ ΡƒΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ‚ количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ использовании ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл.

ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€Ρ‹

ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€ β€” это устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСбольшой заряд ΠΈ быстро Π΅Π³ΠΎ ΠΎΡ‚Π΄Π°Π΅Ρ‚. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅ для прСобразования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ° Π² постоянный, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ напряТСния ΠΏΡƒΡ‚Π΅ΠΌ прСобразования постоянного Ρ‚ΠΎΠΊΠ° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΈ Ρ‚. Π΄.

Они Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² Algodoo, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ кондСнсаторы ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΈΡ‚Π°Ρ‚ΡŒ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠΈ, Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ, схСмы Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π˜Ρ… довольно Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ это Π² свой ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ кондСнсатор. УстановитС _charge Π½Π° 0 ΠΈ установитС _action1 ΠΈ _action2 Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

постШаг:

 (Π΄)=>{_заряд = _заряд = 1;
заряд > 0Β ? {_action1(e)}Β : {_action2(e)}}
 

onHitByLaser:

 (Π΅) => {_charge = 3}
 

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²ΠΎΠ΅ мСню свСтящСйся части свСтодиода ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρƒ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΊΡ€ΡƒΠ³ΠΎΠ²

 (Π΄)=>{
    Π‘Ρ†Π΅Π½Π°.addCircle{
        onclick = (e)=>{};
        oncollide = (e)=>{};
        ondie = (Π΅) => {};
        onhitbylaser = (e)=>{};
        ΠΊΠ»ΡŽΡ‡ = ΠΊΠ»ΡŽΡ‡;
        onspawn = (e)=>{};
        ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΈ = ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΈ;
        рСсурсы = рСсурсы;
        срок ΠΆΠΈΠ·Π½ΠΈ = срок ΠΆΠΈΠ·Π½ΠΈ;
        заТатая тСкстура = заТатая тСкстура;
        адгСзия = адгСзия;
        Ρ‚ΠΈΠΏ Π°Ρ‚Ρ‚Ρ€Π°ΠΊΡ†ΠΈΠΎΠ½Π° = Ρ‚ΠΈΠΏ Π°Ρ‚Ρ‚Ρ€Π°ΠΊΡ†ΠΈΠΎΠ½Π°;
        притяТСниС = притяТСниС;
        тСкстура = тСкстура;
        ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ = ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅;
        вСль = вСль;
        рСституция = рСституция;
        ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° = ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°;
        showforcearrows = ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡ„ΠΎΡ€ΡΡΡ‚Ρ€Π΅Π»Ρ€Ρ‹;
        ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ прСломлСния = ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ прСломлСния;
        ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° тСкстуры = ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° тСкстуры;
        транспортир = транспортир;
        столкновСниС = столкновСниС;
        Π½ΠΈΡ‡ΡŒΡ = Π½ΠΈΡ‡ΡŒΡ;
        ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ = ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ;
        Ρ‚Ρ€Π΅Π½ΠΈΠ΅ = Ρ‚Ρ€Π΅Π½ΠΈΠ΅;
        имя ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° = имя ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°;
        позиция = позиция;
        ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ = ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ;
        Ρ†Π²Π΅Ρ‚ΡˆΠ²Π° = Ρ†Π²Π΅Ρ‚ΡˆΠ²Π°;
        ΡƒΠ³ΠΎΠ» = 0;
        ΠΏΠΎΡΡ‚ΡˆΠ°Π³ = ΠΏΠΎΡΡ‚ΡˆΠ°Π³;
        Ρ€Π°Π·ΠΌΡ‹Ρ‚ΠΈΠ΅ края = Ρ€Π°Π·ΠΌΡ‹Ρ‚ΠΈΠ΅ края;
        ΡƒΠ³ΠΎΠ» = ΡƒΠ³ΠΎΠ»
    }
}
 


Π‘ΠΏΠ°ΡƒΠ½Π΅Ρ€ ящиков

  (e)=>{scene. addBox({sizeΒ := [0,83575642, 0,27858579]; ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΒ := 2,00; posΒ := e.pos; восстановлСниС := 0,5; Ρ‚Ρ€Π΅Π½ΠΈΠ΅ = 0,5; ΡƒΠ³ΠΎΠ»Β := 0}) } 
 

БамостолкновСниС

  (д) => {heteroCollide = лоТь} 
 

Π‘Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‰Π°ΡΡΡ Π²ΠΎΠ΄Π°

  (Π΅) => {collideWater = true} 
 

ИзмСнСниС Π‘Ρ‚ΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ самим собой

  (e)=>{e.this.collideSet = 1} ΠΈΠ»ΠΈ (e)=>{e.other.collideSet = 1} 
 

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ [R, G, B, A]: R = красный, G = Π·Π΅Π»Π΅Π½Ρ‹ΠΉ, B = синий, A = Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ видимости: Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ = ΠΎΡ‚ 0,0 Π΄ΠΎ 1,0

  (Π΄) => {Ρ†Π²Π΅Ρ‚ = [1,0, 0,0, 0,0, 1,0]} 
 

Π¦Π²Π΅Ρ‚ тСкста [R,G,B,A]

  (Π΅) => {textColor = [1.0, 0.0, 0.0, 1.0]} 
 

Π Π°Π·ΠΌΠ΅Ρ€ тСкста

  (Π΅) => {textScale = 3} 
 

ΠŸΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ

  (Π΄) => {ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ = 10,02} 
 

Аттракцион

  (Π΄) => {притяТСниС = 50} 
 

Для отталкивания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число со скобками.

  (Π΅) => {притяТСниС = (-20)} 
 

Π£Π±ΠΈΠΉΡ†Π°

  (Π΄) => {ΡƒΠ±ΠΈΠΉΡ†Π° = ΠΏΡ€Π°Π²Π΄Π°} 
 

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ уничтоТСния (с ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ)

  (e)=>{buttonDestroyΒ := "e"} 
 

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ столкновСниС (с ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ)

  (e)=>{collideSetΒ := n} // n Ρ€Π°Π²Π½ΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ†Π΅Π»ΠΎΠΌΡƒ числу ΠΎΡ‚ 0 Π΄ΠΎ 1023 
 

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ тСкст (с ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ)

  (Π΄)=>{тСкст := "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!"} 
 

Π’Π΅Π»Π΅ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

  (e)=>{e.other.pos[x,y]} //x,y - ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅Π»Π΅ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 
 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ всСй сцСны (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ (:) ΠΏΠ΅Ρ€Π΅Π΄ Π·Π½Π°ΠΊΠΎΠΌ равСнства.

Антигравитация

  (Π΅) => {Sim.gravityAngleOffset = 3,1415927} 
 

ΠŸΠ°ΡƒΠ·Π° модСлирования

  (Π΅) => {sim. running = false} 
 

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ

  (Π΄) => {scene.camera.zoom = 17,700001} 
 

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Π½ΠΎΡ€Π°ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹

  (Π΄) => {scene.camera.pan = [-446, 14,6]} 
 

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΠ³ΠΎΠ» ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ Π²Π΅Ρ‚Ρ€Π° 92

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ссылки:

Π”Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ языка программирования Algodoo Thyme, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Doc671, Woodsie ΠΈ Prototype, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь:

https://docs.google.com/document/d/17_CPg-QtU3qWp4Q7eD2csOWNFZ4QiGXfBZmCOxFmy4M/edit#heading=h.bumqyppteed0

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‡Π°Π±Ρ€Π΅Ρ†Π΅ Algodoo ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь:

https://wiki.zum.de/wiki/GadApedia/Thyme_algodoo_english

Π’ΠΎΡ‚ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° YouTube ΠΎΡ‚ seth3rock, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ с простым ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

Π’ΠΎΡ‚ извСстный синтаксис Thyme.

Вимьян Бинтаксис

Вимьян | Алгоду Π’ΠΈΠΊΠΈ | Fandom

Thyme β€” собствСнный язык программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Algodoo. Доступ ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ консоли, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Ρ‚ΠΈΠ»ΡŒΠ΄Ρ‹ (~) Π² Windows ΠΈΠ»ΠΈ Mac. К Π½Π΅ΠΌΡƒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ Π² мСню Β«Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉΒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • 1 Π Π°Π±ΠΎΡ‚Π° с Ρ‚ΠΈΠΌΡŒΡΠ½ΠΎΠΌ
    • 1.1 Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
    • 1.2 Π’ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
    • 1.3 Онколлайд
    • 1.4 ИзмСнСниС свойств Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
    • 1.5 Если-Π±Π»ΠΎΠΊΠΈ
      • 1.5.1 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… событий
    • 1.6 МСняСм ΠΌΠΈΡ€ с Ρ‚ΠΈΠΌΡŒΡΠ½ΠΎΠΌ
    • 1.7 Бписок ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Thyme
    • 1,8 ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€Ρ‹
    • 1.9 Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…
    • 1.10 Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ссылки:

Thyme β€” собствСнный язык программирования Π² Algodoo. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ наступлСнии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… событий. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ события:

  • onClick β€” срабатываСт ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
  • onCollide β€” срабатываСт, ΠΊΠΎΠ³Π΄Π° этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сталкиваСтся с Π΄Ρ€ΡƒΠ³ΠΈΠΌ.
  • onDie β€” срабатываСт ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
  • onHitByLaser β€” срабатываСт, Ссли Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π»Π°Π·Π΅Ρ€Π½Ρ‹ΠΉ Π»ΡƒΡ‡.
  • onLaserHit β€” срабатываСт, ΠΊΠΎΠ³Π΄Π° Π»ΡƒΡ‡ Π»Π°Π·Π΅Ρ€Π° ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.
  • onSpawn β€” срабатываСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ загруТаСтся Π² Algodoo.
  • onKey β€” срабатываСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ клавиша. Π‘Π΅Π· Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… сцСнариСв это сработаСт нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, какая это Π±Ρ‹Π»Π° клавиша.
  • postStep β€” срабатываСт Π²ΠΎ врСмя выполнСния ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ Π² соотвСтствии с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ HZ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ.
  • ОбновлСниС
  • β€” Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ postStep, Π½ΠΎ срабатываСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° симуляция Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π°.

ИспользованиС Thyme для ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ осмыслСнных дСйствий Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ простого синтаксиса, основанного Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ:

 пСрСмСнная = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
 

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая ΠΈΠΌΠ΅Π΅Ρ‚ свойства для всСй сцСны (записываСтся ΠΊΠ°ΠΊ scene.my.nameHere), Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ локального ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, хранящСйся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (записываСтся ΠΊΠ°ΠΊ _nameHere).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ запись ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ пСрСмСнная Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π½Π΅ постоянной. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ написаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ваши сцСны Algodoo с использованиСм Thyme Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π›ΡŽΠ±Π°Ρ назначСнная пСрСмСнная scene.my (ΠΏΡ€ΠΈΠΌΠ΅Ρ€: scene.my.theNumber) Π±ΡƒΠ΄Π΅Ρ‚ сохранСна Π² сцСнС. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° сцСны Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ Π»ΡŽΠ±ΡƒΡŽ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с Π΅Π΅ послСдним Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

ИспользованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ свойств Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сцСны Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π½Π°Π» имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. НапримСр, scene.camera.pan β€” это имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранится ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… свойств ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

БущСствуСт Π΄Π²Π° способа использования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² вашСго Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

 e.this.pos = e.pos;
 

эл. - Π‘ΡΡ‹Π»Π°ΡΡΡŒ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ собраны Π² Π½Π°Ρ‡Π°Π»Π΅ события

это. - ссылка Π½Π° этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

pos β€” с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ pos, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉ Π·Π° ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

= e.pos; - присвоСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ событиС, ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ символом ;

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ПослС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ссли Π½Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобки. Для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ форсирования Π½ΠΎΠ²ΠΎΠΉ строки Π² ΠΎΠΊΠ½Π΅ скрипта Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Shift+Return ΠΈΠ»ΠΈ Control+Return. Волько return заставляСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ измСнСния, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ сбрасывая ΠΈΡ… ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ошибок.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ постоянными ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

 _foo = 45;
 

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ "_foo", Ссли ΠΎΠ½Π° Π΅Ρ‰Π΅ Π½Π΅ создана, ΠΈ присваиваСт Π΅ΠΉ Π½ΠΎΠΌΠ΅Ρ€ 45.

ВсС постоянныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠΈ (ΠΈΠ»ΠΈ символС "_") Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ сохранСна ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

 Π±Π°Ρ€ = e.other.geomid;
 

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«barΒ», которая сущСствуСт Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ закончится тСкущая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΈ присваиваСт Π΅ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Β«Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎΒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (доступного Π² onCollide).

Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ спСцификации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ области . ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости β€” это ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится пСрСмСнная. ВсС, Ρ‡Ρ‚ΠΎ находится Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ скобок, содСрТащих ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, нСдоступно.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π—Π°ΠΏΠΈΡΡŒΒ := вмСсто = Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная создаСтся вмСсто записи Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² большСй области. Π­Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ использовании ΠΊΠΎΠΌΠ°Π½Π΄ addObject, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² вновь созданной Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Ρ‚. Π΅. Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ установку ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ исполняСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°).

Π’ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Algodoo Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏΠΎΠ², Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ динамичСски ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· нСобходимости привСдСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ. НСкоторыС основныС Ρ‚ΠΈΠΏΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Algodoo:

Π¦Π΅Π»ΠΎΠ΅ число - Число Π±Π΅Π· дСсятичных Ρ†ΠΈΡ„Ρ€:

 _hs = 64;
 

ΠŸΠ»Π°Π²Π°ΡŽΡ‰Π°Ρ β€” число, содСрТащСС дСсятичныС Ρ†ΠΈΡ„Ρ€Ρ‹:

 ΠΌΠ°Ρ‚.ΠΏΠΈ = 3,14;
 

Π‘Ρ‚Ρ€ΠΎΠΊΠ° β€” Π¦Π΅ΠΏΠΎΡ‡ΠΊΠ° символов, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ тСкста. НазначаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ "":

 scene.my.wikia = "Algodoo Wiki";
 

Boolean β€” пСрСмСнная, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ состояния True ΠΈ False:

 _visible = истина;
 


Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, часто содСрТащиС Π²Π·Π°ΠΌΠ΅Π½ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

Массив β€” пСрСмСнная, содСрТащая нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ любого Ρ‚ΠΈΠΏΠ° Π² Π²ΠΈΠ΄Π΅ списка. НазначаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ отдСляСтся запятой. ЗначСния, содСрТащиСся Π²Π½ΡƒΡ‚Ρ€ΠΈ массива, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚ΠΈΠΏΡƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

 _data = [1, 3.3, "Ошибок Π½Π΅ зафиксировано", [5.5, 2]];
 

Code β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ исполняСмый ΠΊΠΎΠ΄ Ρ‚ΠΈΠΌΡŒΡΠ½Π°. Код выполняСтся ΠΏΡƒΡ‚Π΅ΠΌ помСщСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠΎΠ΄. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ :

 _code = {e.this.text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€"};
 

Ѐункция β€” Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° Code, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Thyme являСтся исполняСмым. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Ѐункция сохраняСтся Π² Π²ΠΈΠ΄Π΅:

(ΠΏΠ°Ρ€1, ΠΏΠ°Ρ€2,...)=>{ΠΊΠΎΠ΄ здСсь}

 _function = (f, g)=>{f + g};
 

Код называСтся:

пСрСмСнная(ΠΏΠ°Ρ€1, ΠΏΠ°Ρ€2,...):

 e.other.pos = [0, _function(2, 3)];
 

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ использовалось Π² послСднСй строкС. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ f + g Π±ΡƒΠ΄Π΅Ρ‚ послСднСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрСчислСнныС Π²Ρ‹ΡˆΠ΅ события ΡΠ²Π»ΡΡŽΡ‚ΡΡ просто особым Ρ‚ΠΈΠΏΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ e, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ событии Π² Ρ„ΠΎΡ€ΠΌΠ΅ класса.

ΠšΠ»Π°ΡΡΡ‹ β€” СдинствСнный Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Они Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ массивы, с Ρ‚ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΈΡ… содСрТимоС Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Доступ ΠΊ ΠΈΡ… содСрТимому ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синтаксиса: var.content. Π₯отя Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ классы ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Thyme Π½Π΅ выполняСт автоматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ этому Ρ‚ΠΈΠΏΡƒ, ΠΎΠ½ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ классС. ЕдинствСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° класса, доступныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, β€” это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… события Β«eΒ». Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ глобальной ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Algodoo (scene.my, app.camera ΠΈ Ρ‚. Π΄.) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, относящихся ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. НапримСр: ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² тСкстовоС ΠΏΠΎΠ»Π΅ ΠΈΠ»ΠΈ использовании entityByGeomId().

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ элСктронного значСния события onClick Π² Π²ΠΈΠ΄Π΅ тСкста:

 ClassObject с Π΄Π΅Ρ‚ΡŒΠΌΠΈ:
количСство ΠΊΠ»ΠΈΠΊΠΎΠ² = 1;
ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ = лоТь;
ΠΏΠΎΠ· = [-1,6925424, 0,32110548];
это -> {
    ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΈ = 1,0;
    рСсурсы = [];
    врСмяТизни = ∞;
    textureClamped = [лоТь, лоТь];
    ...
 

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ e.this..., e.other..., e.pos ΠΈ Ρ‚. Π΄. ΠŸΡ€ΠΈ использовании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ события. Β«Π­Ρ‚Π°Β», «Другая» ΠΈ часто Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π° самом Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, хранящимися Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° класса e, ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊ Π½ΠΈΠΌ доступ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

OnCollide

ИзмСнСниС свойств Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ подвСргаСтся ΡƒΠ΄Π°Ρ€Ρƒ, часто Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ = 10 Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записана ΠΊΠ°ΠΊ: e.this.density = 10, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ для этого свойства, Π½ΠΎ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ΄ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°:

  (Π΅)=>{Π΅.другая.ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ = 10} 
 

Π­Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΏΠ°Π»ΠΈ, Π΄ΠΎ 10.

Π‘Π»ΠΎΠΊΠΈ if

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if β€” это Π·Π°Π΄Π°Ρ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ значСниями Π² зависимости ΠΎΡ‚ логичСского значСния. Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°. Бинтаксис:

 логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β ? Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1Β : Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2;
 

Π—Π½Π°ΠΊ вопроса, Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ синтаксис (Ρ‚ΠΎΡ‡ΠΊΠ° с запятой Ρ‚Π°ΠΊΠΆΠ΅ трСбуСтся, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π±Π»ΠΎΠΊΠΎΠ² if нСсколько, ΠΈ Π² этом случаС Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки, ΠΊΡ€ΠΎΠΌΠ΅ послСднСй). ЗначСния ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π°.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° If опрСдСляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ логичСского значСния ΠΈ, Π² зависимости ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, компилируСтся Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π»ΠΈΠ±ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ значСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌΠΈ значСниями (записанными Π² {}), Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, Ссли ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скомпилированы Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. ЛогичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ создаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ сравнСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ сравнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ объСдинСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния:

  • == - Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ€Π°Π²Π½ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Π­Ρ‚ΠΎ Π½Π΅ ограничиваСтся Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈΠ»ΠΈ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π­Ρ‚ΠΎ отличаСтся ΠΎΡ‚ =, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присваиваСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ вмСсто сравнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • >= β€” сравниваСт ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, большС Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.
  • <= β€” сравниваСт ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.
  • != β€” сравниваСт ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π½Π΅ Ρ€Π°Π²Π½ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Π­Ρ‚ΠΎ Π½Π΅ ограничиваСтся Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈΠ»ΠΈ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.
  • > β€” сравниваСт ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, большС Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
  • < β€” сравниваСт ΠΎΠ±Π° значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, мСньшС Π»ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ΅.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, логичСскиС значСния ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ вычислСния.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

valueA && valueB && valueC... β€” истинно, Ссли ΠΎΠ±Π° значСния истинны, ΠΈ Π»ΠΎΠΆΠ½ΠΎ, Ссли Π½Π΅Ρ‚, Ρ‚Π°ΠΊΠΆΠ΅ извСстноС ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ AND

значСниСА || Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅B || valueC... - Π˜ΡΡ‚ΠΈΠ½Π½ΠΎ, Ссли истинно хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠΆΠ΅ извСстноС ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π˜Π›Π˜

! valueA - ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠΆΠ΅ извСстноС ΠΊΠ°ΠΊ NOT-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ IF-Π±Π»ΠΎΠΊΠΎΠ²:

 sim. running && e.this.vel(0) < 4Β ? {ΠΊΠΎΠ΄1}Β : {}
 

Π­Ρ‚ΠΎΡ‚ скрипт провСряСт sim.running, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π² Algodoo, которая хранится ΠΊΠ°ΠΊ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. sim.running ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ И (&&), Ρ‡Ρ‚ΠΎ заставляСт скрипт Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ x-ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚, двиТСтся Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ оси x Π½Π° 4 ΠΌΠ΅Ρ‚Ρ€Π° Π² сСкунду ΠΈΠ»ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Если ΠΎΠ±Π° Π²Π΅Ρ€Π½Ρ‹, , Ρ‚ΠΎ ΠΊΠΎΠ΄ 1 выполняСтся, ΠΈΠ½Π°Ρ‡Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ происходит.

 _hp <= 0 || _ΡƒΠΌΠ΅Ρ€Π΅Ρ‚ΡŒ ? {ΠΊΠΎΠ΄1}Β : {ΠΊΠΎΠ΄2}
 

сначала скрипт провСряСт, Ρ€Π°Π²Π½ΠΎ Π»ΠΈ _hp 0 ΠΈΠ»ΠΈ мСньшС, Π° Π·Π°Ρ‚Π΅ΠΌ провСряСт, истинно Π»ΠΈ _die. Если любой ΠΈΠ· Π½ΠΈΡ… Π²Π΅Ρ€Π΅Π½, ΠΎΠ½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ code1, ΠΈΠ½Π°Ρ‡Π΅ code2

 позиция = позиция (0) > 0Β ? [-2, 0]Β : [2, 0]
 

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ‚ pos [-2,0] ΠΈΠ»ΠΈ [2,0] Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, большС ΠΈΠ»ΠΈ мСньшС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x 0.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… событий

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ события Algodoo ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ функциями, встроСнными Π² исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС события, встроСнныС Π² ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ события, прСдоставляСмыС Algodoo. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для запуска ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ соблюдСнии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условий ΠΏΡ€ΠΈ сохранСнии ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ структуры всСго Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ использованиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ события onDamage, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰Π΅ΠΉ Π² Ρ€ΠΎΠ»ΠΈ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

 _onDamage = (Π΅)=>{
    _hp = _hp - e.dmg;
    e.other._score = e.other._score + e.dmg;
    _hp <= 0Β ? {
        врСмя ΠΆΠΈΠ·Π½ΠΈ = 0
    }Β : {}
}
 
 (Π΅) => {
    e.other.materialname == "bullet"Β ? {
        // ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°Β :=, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "dmg" Π² e
        e.dmgΒ := e.other._dmg;
        _onDamage (Π΅)
    }Β : {}
}
 

Как Π²ΠΈΠ΄Π½ΠΎ, событиС _onDamage ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ onCollide Π±Π΅Π· нСобходимости помСщСния ΠΊΠΎΠ΄Π° Π² Ρ‚ΠΎ ΠΆΠ΅ событиС. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ порядок Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ функциям. НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ события для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дСйствия, Π½Π° самом Π΄Π΅Π»Π΅ часто ΠΏΡ€ΠΎΡ‰Π΅ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ΅ событиС вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Однако основныС процСссы Π² ΠΊΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ.

ИзмСнСниС ΠΌΠΈΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΈΠΌΡŒΡΠ½Π°

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всю сцСну с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΈΠΌΡŒΡΠ½Π°.

НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сцСна Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° постоянно, помСстив это Π² update:

 (Π΅) => {sim.running = true}
 

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сцСна Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ останавливаСтся. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сцСну ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ сСбя, Ссли ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½, помСстив Π² OnDie ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

 (Π΅) => {scene.new}
 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΈΠ½ΠΈ-ΠΈΠ³Ρ€. НапримСр, «НС удаляйтС Π½Π΅ Ρ‚ΠΎΡ‚ Π±Π»ΠΎΠΊ!Β» ΠΌΠΈΠ½ΠΈ ΠΈΠ³Ρ€Ρ‹.

Бписок ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Thyme

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ список содСрТит ряд Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Thyme. Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ этому списку, смСло добавляйтС Π΅Π³ΠΎ, Ссли ΠΎΠ½ Π½Π΅ повторяСтся.

  • app.camera.* - Π—Π΄Π΅ΡΡŒ пСрСчислСны всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ
  • sim. gravity* β€” всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΡŽ, пСрСчислСны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ sim с прСфиксом Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ
  • .
  • Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ = math.atan2(e.other.pos(1)-pos(1),e.other.pos(0)-pos(0)) - ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΡƒΠ³ΠΎΠ» ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ соотвСтствСнно.
  • vel = vel + [0,sim.gravityforce]/sim.frequency + [math.sin(*Π£Π³ΠΎΠ» здСсь),-math.cos(*Π£Π³ΠΎΠ» здСсь)]*sim.gravityforce/sim.частота - НСйтрализуСт эффСкт стандартной Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ сцСны с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΈ примСняСт Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΡŽ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ ΡƒΠ³Π»Π΅ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. ΠžΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ 2-ю Ρ‡Π°ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ нСвСсомости.
  • rand.uniform01 β€” Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ случайноС Ρ†Π΅Π»ΠΎΠ΅ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΡ‚ 0 Π΄ΠΎ 1 со случайной Π΄Π»ΠΈΠ½ΠΎΠΉ
  • rand.normal β€” Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ rand.uniform01, Π½ΠΎ с Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ 50% ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ ΡƒΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ‚ количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ использовании ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл.

ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€Ρ‹

ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€ β€” это устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСбольшой заряд ΠΈ быстро Π΅Π³ΠΎ ΠΎΡ‚Π΄Π°Π΅Ρ‚. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅ для прСобразования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ° Π² постоянный, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ напряТСния ΠΏΡƒΡ‚Π΅ΠΌ прСобразования постоянного Ρ‚ΠΎΠΊΠ° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΈ Ρ‚. Π΄.

Они Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² Algodoo, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ кондСнсаторы ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΈΡ‚Π°Ρ‚ΡŒ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠΈ, Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ, схСмы Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π˜Ρ… довольно Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ это Π² свой ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ кондСнсатор. УстановитС _charge Π½Π° 0 ΠΈ установитС _action1 ΠΈ _action2 Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

постШаг:

 (Π΄)=>{_заряд = _заряд = 1;
заряд > 0Β ? {_action1(e)}Β : {_action2(e)}}
 

onHitByLaser:

 (Π΅) => {_charge = 3}
 

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²ΠΎΠ΅ мСню свСтящСйся части свСтодиода ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρƒ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΊΡ€ΡƒΠ³ΠΎΠ²

 (Π΄)=>{
    Π‘Ρ†Π΅Π½Π°.addCircle{
        onclick = (e)=>{};
        oncollide = (e)=>{};
        ondie = (Π΅) => {};
        onhitbylaser = (e)=>{};
        ΠΊΠ»ΡŽΡ‡ = ΠΊΠ»ΡŽΡ‡;
        onspawn = (e)=>{};
        ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΈ = ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΈ;
        рСсурсы = рСсурсы;
        срок ΠΆΠΈΠ·Π½ΠΈ = срок ΠΆΠΈΠ·Π½ΠΈ;
        заТатая тСкстура = заТатая тСкстура;
        адгСзия = адгСзия;
        Ρ‚ΠΈΠΏ Π°Ρ‚Ρ‚Ρ€Π°ΠΊΡ†ΠΈΠΎΠ½Π° = Ρ‚ΠΈΠΏ Π°Ρ‚Ρ‚Ρ€Π°ΠΊΡ†ΠΈΠΎΠ½Π°;
        притяТСниС = притяТСниС;
        тСкстура = тСкстура;
        ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ = ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅;
        вСль = вСль;
        рСституция = рСституция;
        ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° = ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°;
        showforcearrows = ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡ„ΠΎΡ€ΡΡΡ‚Ρ€Π΅Π»Ρ€Ρ‹;
        ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ прСломлСния = ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ прСломлСния;
        ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° тСкстуры = ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° тСкстуры;
        транспортир = транспортир;
        столкновСниС = столкновСниС;
        Π½ΠΈΡ‡ΡŒΡ = Π½ΠΈΡ‡ΡŒΡ;
        ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ = ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ;
        Ρ‚Ρ€Π΅Π½ΠΈΠ΅ = Ρ‚Ρ€Π΅Π½ΠΈΠ΅;
        имя ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° = имя ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°;
        позиция = позиция;
        ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ = ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ;
        Ρ†Π²Π΅Ρ‚ΡˆΠ²Π° = Ρ†Π²Π΅Ρ‚ΡˆΠ²Π°;
        ΡƒΠ³ΠΎΠ» = 0;
        ΠΏΠΎΡΡ‚ΡˆΠ°Π³ = ΠΏΠΎΡΡ‚ΡˆΠ°Π³;
        Ρ€Π°Π·ΠΌΡ‹Ρ‚ΠΈΠ΅ края = Ρ€Π°Π·ΠΌΡ‹Ρ‚ΠΈΠ΅ края;
        ΡƒΠ³ΠΎΠ» = ΡƒΠ³ΠΎΠ»
    }
}
 


Π‘ΠΏΠ°ΡƒΠ½Π΅Ρ€ ящиков

  (e)=>{scene. addBox({sizeΒ := [0,83575642, 0,27858579]; ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΒ := 2,00; posΒ := e.pos; восстановлСниС := 0,5; Ρ‚Ρ€Π΅Π½ΠΈΠ΅ = 0,5; ΡƒΠ³ΠΎΠ»Β := 0}) } 
 

БамостолкновСниС

  (д) => {heteroCollide = лоТь} 
 

Π‘Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‰Π°ΡΡΡ Π²ΠΎΠ΄Π°

  (Π΅) => {collideWater = true} 
 

ИзмСнСниС Π‘Ρ‚ΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ самим собой

  (e)=>{e.this.collideSet = 1} ΠΈΠ»ΠΈ (e)=>{e.other.collideSet = 1} 
 

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ [R, G, B, A]: R = красный, G = Π·Π΅Π»Π΅Π½Ρ‹ΠΉ, B = синий, A = Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ видимости: Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ = ΠΎΡ‚ 0,0 Π΄ΠΎ 1,0

  (Π΄) => {Ρ†Π²Π΅Ρ‚ = [1,0, 0,0, 0,0, 1,0]} 
 

Π¦Π²Π΅Ρ‚ тСкста [R,G,B,A]

  (Π΅) => {textColor = [1.0, 0.0, 0.0, 1.0]} 
 

Π Π°Π·ΠΌΠ΅Ρ€ тСкста

  (Π΅) => {textScale = 3} 
 

ΠŸΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ

  (Π΄) => {ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ = 10,02} 
 

Аттракцион

  (Π΄) => {притяТСниС = 50} 
 

Для отталкивания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число со скобками.

  (Π΅) => {притяТСниС = (-20)} 
 

Π£Π±ΠΈΠΉΡ†Π°

  (Π΄) => {ΡƒΠ±ΠΈΠΉΡ†Π° = ΠΏΡ€Π°Π²Π΄Π°} 
 

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ уничтоТСния (с ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ)

  (e)=>{buttonDestroyΒ := "e"} 
 

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ столкновСниС (с ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ)

  (e)=>{collideSetΒ := n} // n Ρ€Π°Π²Π½ΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ†Π΅Π»ΠΎΠΌΡƒ числу ΠΎΡ‚ 0 Π΄ΠΎ 1023 
 

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ тСкст (с ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ)

  (Π΄)=>{тСкст := "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!"} 
 

Π’Π΅Π»Π΅ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

  (e)=>{e.other.pos[x,y]} //x,y - ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅Π»Π΅ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 
 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ всСй сцСны (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ (:) ΠΏΠ΅Ρ€Π΅Π΄ Π·Π½Π°ΠΊΠΎΠΌ равСнства.

Антигравитация

  (Π΅) => {Sim.gravityAngleOffset = 3,1415927} 
 

ΠŸΠ°ΡƒΠ·Π° модСлирования

  (Π΅) => {sim.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *