NEKOMATAYA

1- レス

何でも質問箱


[13]hey:05/11/18 03:23:27 ID:zQ7v9Ybc
エクスプレッションの書き方について質問させてください。
コンポAの中をランダムに移動するレイヤーBがあるとします。
コンポAのフレームの長さをXとして
レイヤーBのコンポA内での移動量の和を求めたい時は、どう書くのがスマートでしょうか?
省6

[14]kiyo[sage]:05/11/18 13:09:32 ID:???
いらっしゃーい
うむ、ちょっと設問がアイマイかな?
とりあえず
 フレームの長さ=コンポの継続時間
 移動量の和=継続時間全体での移動量の合計
として答えます。違ってたら突っ込んでね。

[15]ランダムな移動量の集計 1/3[sage]:05/11/18 13:11:02 ID:???

えーと、その計算はあまりエクスプレッション向きじゃありません。
おそらくは
var 合計=0;
for(myFrame=start;myFrame<end;MyFrame++){
値= valuAtTime(myFrame)-valueAtTime(myFrame+1);
合計+=値;
}
省18

[16]ランダムな移動量の集計 2/3[sage]:05/11/18 13:11:39 ID:???
その1
エクスプレッション向きじゃないのでエクスプレッションはやめてほかの方法を探す。
もしも「合計の値が欲しい」だけなら、スクリプト(jsx)で計算すれば、計算のメモリ空間が 省21

[17]ランダムな移動量の集計 ens/3[sage]:05/11/18 13:12:22 ID:???
その2
ちょっと力技でも良いから、がんばる。
「レイヤの制御に使いたいので、やっぱり同じコンポ内で欲しい。」ってなばあいは、
以下のようにすればおっけ
//エクスプレッションの中で、全てのフレーム分の配列を作る。 省21

[18]kiyo[sage]:05/11/18 13:44:24 ID:???
と、書き込んだ後でサイトをチェックしたら…
なるほど、そうだったのですな。ははは 目的は集計では無かったのね。
じゃ、ずいぶんと解法の方向性が違うねぇ。
先に読んどけば良かった…

[19]hey:05/11/18 16:13:50 ID:zQ7v9Ybc
ありがとうございます。
エクスプレッションを使っている割に、今一歩仕組みを理解できていないので
解説していただくと大変に勉強になります。
失敗しても、なぜ失敗しているのか?が、わからない事がままあります。
省8

[20]kiyo[sage]:05/12/03 19:00:08 ID:???
>ありがとうございます
といわれるとおもはゆい
最近エクスプレッションに舞い戻って来たのは良いけれど…
>>15 の記述は「ウソでした」
valueAtTime のアクセスは、「循環参照」にはならないで完了します。
省24

[21]はる:06/05/11 21:35:32 ID:+6MxOLW2
お疲れ様です。
すいません、初の書き込みから質問とは
ぶしつけかと思いますが
スクリプリトの記述に関してご教授ねがいます。
抜粋ですが
targetID = finditemID("720*486");
if (targetID){app.project.item(targetID).duration =xxx}; 省27

[22]kiyo:06/05/12 01:56:43 ID:ffPXNCwI
こんばんは、はる様ようこそです
>文字列として認識されません。
んーと、一般的には "720*486"は、たぶん文字列として認識できている様な気がしますです。
文字列として認識しているか否かは、引数をわたされた関数の冒頭で
省35

[23]kiyo:06/05/12 03:11:40 ID:ffPXNCwI
//
app.project.getItemByName=function(itemName)
{
if (! itemName) return false;
if ((typeof itemName)!="string" ) itemName=itemName.toString();
var result=new Array();//戻り値を初期化 省48


名前

E-mail



0ch BBS 2004-10-30 (+Nekomataya/2005-02-17)