My Tumblr
▼すべて表示
generated by レビュー・ポスター

2007年09月23日

俺もたまにはQuartz Composer使うんだぜ

例えばIteratorでSpriteパッチなんかを敷き詰めようとすると、
まずは一方向に繰り返してからIterator入れ子にしてもう一回繰り返したりしますよね?
それが何となく面倒だったので、javascriptで配列作ってみた。
input 1がx軸、2がy、3がzの個数。Input Spliterでも繋いで入力。
例えばinputs1に4 inputs2に3 inputs3に2を入力すると、
outputs1は
0,1,2,3,0,1,2,3,0,1,2,3,
0,1,2,3,0,1,2,3,0,1,2,3,

outputs2は
0,0,0,0,1,1,1,1,2,2,2,2,
0,0,0,0,1,1,1,1,2,2,2,2,

outputs3は
0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,1,

という配列を出力するのでStructure Index Memberで分解してMathとかで加工して使う。と。

書き方がスマートじゃないとか言われてもよう分らん。

QC内でjavascript直接記述すると、for文書いてる途中で虹色グルグルになって処理できなくなったりするので、ある程度は外部エディタで書いてから調節したほうがいいみたいですね。


var a = inputs[0];
var b = inputs[1];
var c = inputs[2];
var myAry1 = new Array();
var myAry2 = new Array();
var myAry3 = new Array();

for (h=0; h<c; h++)
{
for (i=0; i<b; i++)
{
for (j=0; j<a; j++)
{
myAry1.push(j);
}
}
}
for (h=0; h<c; h++)
{
for (i=0; i<b; i++)
{
for (j=0; j<a; j++)
{
myAry2.push(i);
}
}
}
for (i=0; i<c; i++)
{
for (j=0; j<a*b; j++)
{
myAry3.push(i);
}
}
outputs[0] = myAry1;
outputs[1] = myAry2;
outputs[2] = myAry3;
posted by qtz(戻) at 22:54| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/56854884

この記事へのトラックバック