


動的に(プログラム実行時に)生成したtoggleを繋いじゃいましょう!左上の数値を変更すると、makeToggleが呼ばれて、数値の数だけ繋がったtoggleが生成されます。clearToggleでtoggleを全部消すことが可能です。特に意味は無い、そこにMax6とJavaScriptがあったのと、夜眠れなくなったからやりました。
メタプログラミングという世界に突入だとコバルト爆弾αΩのΔが言ってました。夢が広がりそうな予感が!!!
余談ですが、ECMAscript5でArrayクラスに追加されたと噂のメソッドforEach使おうと思ったんですが、呼べなかったです。使えました!まさかMax6のJavaScriptは ECMAscript5 じゃない?3なのかな?調べたけれどわからなかったです。さらなる余談ですが4はActionScript3.0の原型らしいですね。どうりで似てるわけだ。
[javascript]
inlets = 1;
outlets = 0;
var p = this.patcher;
var toggles = new Array();
post(p);
function makeToggle(numPatch){
for(var i = 0 ; i < numPatch ; i++)
{
toggles.push( p.newdefault(Math.random() * p.wind.size[0],Math.random() * p.wind.size[1],"toggle") );
if(toggles[toggles.length-2] != null)
{
p.connect(toggles[toggles.length-1],0,toggles[toggles.length-2],0); //今生成したtoggleのoutletと一つ前に生成したtoggleのinletを繋ぐ
}
}
}
function clearToggle(){
for(var i = 0,length = toggles.length ; i < length;i++)
{
p.remove(toggles[i]);
}
}
[/javascript]