![見出し画像](https://assets.st-note.com/production/uploads/images/115923587/rectangle_large_type_2_9334fae7cac666d2dd19d1bda930b8d5.png?width=1200)
持つときだけ音を奏でるClusterScript
イラストレーターの
ひやますなおさん から
クラフトアイテムを
『持つときだけ音を奏でたい』との
お題をいただいたので
金色の『ほしたまちゃんだるまさん』と
一緒に考えてみたよ。
長い長い思考実験の末
きえらさん から教わった
ClusterScript『SWITCH』の
とある性質を使うと
『できるのではないか?』との
結論に至り
すぐさま実証実験をしたところ
想定通りの動きを
確認できましたので
『note』にまとめます。
![](https://assets.st-note.com/img/1694429274641-1LDTJhjjP6.png?width=1200)
きえらさんSWITCH
以前、エックスで
『onUse下で何回もアクション出来る
Scriptほしいなぁ』
と話していたら
きえらさん が親切にも
次のScriptを教えてくれました!
![](https://assets.st-note.com/img/1694429249535-QaKQYu1YbL.jpg?width=1200)
そしてこの『SWITCH』をもとに
制作したのが
ハイパーヨーヨー
『RYFOON』です。
この『SWITCH』文には
通常、往復する処理を
片道(往路)のみ処理する
アクセラレータ(一方通行)的な
性質があることから
このアクセラレータを利用して
次の通りscriptを書き換えます。
//効果音定義
const se = $.audio("Audio1");
//swich定義
$.state.count = 1;
$.onGrab(onGrab => {
let isGrab = $.state.isGrab;
isGrab = !isGrab;
$.state.isGrab = isGrab;
if (onGrab) {
$.state.count;//++削除
switch($.state.count) {
case 1:
//効果音指令
se.play();
break;
default:
//効果音指令
se.play();
break;
}
}
})
きえらさん の
『SWITCH』文にある
変数を『1』に
『++』を削除して
『default』に『se.play』を
加筆修正しているところが
ポイントです。
『ほしたまちゃん』だけに
たまたまできた感じなのです(笑)
きえらさんに感謝!
親切にも『SWITCH』の
Scriptをご提供いただき
また、さらに改変したコードの
公開を快諾してくれた
きえらさん に感謝です。
本当にありがとうございます。
このきえらさん の
『ポテチ』リアルにほしい(笑)
この記事が気に入ったらサポートをしてみませんか?