Thyme講座を読み終わり、これからThymeをさまざまなものに応用していこうとする方のために、いくつかの例文を紹介しておく。
onCollide = (e) => { text = { "" + sim.time }; }
onCollide = (e) => { text = { "" + (sim.time - sim.time % 1) }; }
onCollide = (e) => { e.this.color = (e.other + "" == "box" ? [1.0, 0.0, 0.0, 1.0] : [0.0, 0.0, 1.0, 1.0]) }
onCollide = (e) => {
e.this.color = e.other.collideSet == 1 ? [1.0, 0.0, 0.0, 1.0] : e.this.color ; (※1)
e.this.color = e.other.collideSet == 2 ? [0.0, 0.0, 1.0, 1.0] : e.this.color ; (※2)
e.this.color = e.other.collideSet == 3 ? [1.0, 0.0, 1.0, 1.0] : e.this.color ; (※3)
}
(スクリプト案絶賛募集中)
scene.my.extractTime = () => {
var := sim.time;
hour := ( var >= 3600 ? var / 3600.0 : 0.0 );
hour = ( hour - hour % 1.0);
minute := ( var >= 60 ? ( var - hour * 3600.0 ) / 60.0 : 0.0 );
minute = ( minute - minute % 1.0 );
second := ( var - hour * 3600.0 - minute * 60.0 );
second = ( second - second % 1.0 );
"" + hour + "h " + minute + "m " + second + "s";
}
onCollide = (e) => {
collideSet = {sim.time * 13.0 % 1 >= 0.5 ? 1 : 2} (※1)
e.this.text = e.other.collideSet == 1 ? e.other.text : e.this.text ; (※2)
e.other.text = e.other.collideSet == 2 ? e.this.text : e.other.text ; (※3)
}
これを利用する際には「A判定の四角」と「B判定の四角」に挟まれた「このスクリプトを書き込んだ四角」を用意する。
A判定B判定の二つの四角はフィクスで、スクリプトを書き込んだ四角はヒンジで、共に背景に接着しておく。
実際に動かすとtext属性に書かれた値が「A判定の四角」→「スクリプトを書いた四角」→「B判定の四角」と伝達していく。
あたかも電気信号により情報が伝達したかのような振る舞いをするのである。