で、キー範囲を調べるのにgetTimeRangeでしくじったので
すこし作ってみた
その際に、配列をいじくる機能をつかってみたぞ
getTimeRangeはこっち
http://www.sakaiden.com/?p=3898
ほかの配列がらみだぞ
http://www.sakaiden.com/?p=2955
まぁ、キー情報を回収しているだけなんだけど
面白かったのはmakeUniqueArray
これは、配列内の同じ項目を一つにして
配列をすっきりさせる機能だぞ
んーー、しってれば、前に作ったものも
綺麗にスクリプトできたんだけどな
[as3]
–基本のコントローラーはprs()か?
–Positionというプロパティを含んでいればprsと判断してもよい
if (selection.count != 0) and (isProperty $.controller “Position”) do
(
–各キーの時間を回収する
posKeys = for k in $.pos.controller.keys collect k.time;
rotKeys = for k in $.rotation.controller.keys collect k.time;
scaKeys = for k in $.scale.controller.keys collect k.time;
–配列をくっつける
join posKeys rotKeys
join posKeys scaKeys
–一度プリント
print posKeys
–ソート
sort posKeys
–同じ内容のモノを一掃する
makeUniqueArray posKeys
–配列内の最大値は?
print (amax posKeys)
–配列内の最小値は?
print (amin posKeys)
);–if end
[/as3]
こんな感じかな・・・
最初に if isProperty $.controller “Position” で
選択したオブジェクトのコントローラーが位置、回転、スケールを含めているか
確認するようにした
この時点でBipedは除外されることになる
キー情報に対して無作為に時間を調べる方法が
よく分からなかったので、結局トランスフォームキーを対象にした
んー、MaxKeyArrayがらみで
現在選択したキー情報ってのを抽出できるといいんだけどな
もしくは選択したキー情報をどっかに格納するとかね
もしかしたら、Trackview関連からアクセス出来るのかも知れないけど
試していない
あるのか?あったら便利だけどな