VOC@!!只今、絶賛ヘビィローテ中のボーカロイドなのです。歌ってみました、もも。(T△T)(歌ってみた)...............2009/05/02【ニコニコ動画】初音さんの「ラビットフォーゲッツ」歌ってみた【におP】ほえほえP2度目の告白ソング(歌ってみた)♪...............2009/02/27【ニコニコ動画】【佳仙ver.】朝焼け、君の唄。ないブログに表示されています。新しい記事を書く事で広告が消えます。公開~久しぶりの更新です。前の更新から既に1ヶ月も経ってるのですが、その間にPCのハードディスクが壊れまして晴れてWindows7にアップグレードとなりました。おかげで前の記事で公開したアニメーションライブラリが使えなくなっちゃったんですけどね。windows7でもいろいろ試したんですが、うまくいかなかったのであれはもう忘れようかと思います。今回はそんな中からソートに関してのお話を。以前はソートさせるのに結構面倒くさいことをやってまして、今見ると苦労してんなーと思っちゃうんですが、簡単な方法をサイトで見つけてからは楽に出来る様になりました。無知なりにも何とか実現させようとしたその労力は、今に繋がっていますけどね。ソートする時のポイントとしては、ソートさせる情報を連想配列で持っておくということです。];て具合になります。},];みたいにすると各プロパティで自由に取り出せて整理もしやすいですね。各プロパティでソートができます。使うのですが、このままではプロパティでソートできません。オプションで関数を使うことで可能になります。;}この例では小さい値から大きい値にソート(昇順)します。他のプロパティに変えることでそれぞれのプロパティでソートできます。各プロパティごとに関数を用意する必要があるということです。この連想配列をいかにうまく作るかで後の苦労がかなり変わってきます。ここからが本題ですが、例えばコンポ内のレイヤーに対してソートする時にわざわざ連想配列を作る必要がない場合があります。レイヤーオブジェクトには複数のプロパティがありますので、取得したままにソートできます。始まる仕様になってます。始まるので、AEスクリプトを書き始めの頃は何が何だかわからずに非常に悩ましかった記憶があります。"0番目"から始まる配列に置き換えます。;}と、これでレイヤーのX座標でのソートができます。全てを試した訳ではないのですが、トランスフォームプロパティに対してはそのままでもソート出来るようです。プロパティは、別で連想配列を作ってやらないとダメでした。それでも連想配列さえ用意すれば比較的楽にソートできると思います。やっとこさタイトルにもありますがスクリプトの紹介ですよっと。コンポ内の選択レイヤーを各プロパティでソートし並び替えるスクリプトです。コンポ内にカメラレイヤーがある場合(複数可)は、レイヤーが3Dレイヤーかどうかは関係なく対象のカメラからの距離で並び替えできます。(カメラから遠いレイヤーから順番に下から並べるとか)1つ問題がありまして、スクリプトで取得できるのはローカル座標なので、もし親子関係になってたりする場合、意に反する結果になると思います。これを解決するには何かしらワールド座標を取得する必要があるのですが、今回は入れていません。今後、使用していく中で必要を感じるようなら考えます。あと、今回ウインドウはダイアログで作ってます。閉じないとAE側に触れないのですが、気分でそうしちゃいました。これに関しても使ううちにイライラするようなら変更するかもしれませんです。windows7======追記=======書き忘れましたが、カレントフレームでの値でソートしているので、キーが打たれてある場合はカレントフレームの位置によって並びが変化しますよっと。投票ボタン付けてみました。自己紹介:たま~にしか更新しないです。最近メールアドレスが変わりました。ご意見、ご要望などありましたらcurryeggs@gmail.comまでお願いします。稚拙スクリプト&アプリです。