トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     クラスへのアクセスに配列アクセス演算子は使えない?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Tonpoo (gaienboy改め)
Åê¹ÆNo.34719
投稿日時: 2007-8-17 16:21
職人
居住地: 東京・神宮前
投稿: 717
使用環境:
Windows 7 Professional,
Flash CS5 Pro,
Flash Player 10,1,102,64
クラスへのアクセスに配列アクセス演算子は使えない?
こんにちは、gaienboyです。

下記のようなTweenクラスを使ったスクリプトがあります。
import mx.transitions.Tween;
var myTween:Tween = new Tween(test_mc, "_x", mx.transitions.easing.Elastic.easeOut, 0, 300, 3, true);


この「Elastic」の部分を、他の変数などの条件によって柔軟に「Bounce」や「Regular」
などに切り替えて処理したいと考え、下記のようなスクリプトを組みました。
import mx.transitions.Tween;
a = "Elastic";
var myTween:Tween = new Tween(test_mc, "_x", mx.transitions.easing[a].easeOut, 0, 300, 3, true);


しかし、スクリプトエラーこそでなかったものの、「Elastic」の効果を得ることは
できませんでした。

ちなみに、「easeOut」の部分も同様に変数化できないかと思い、下記のような
スクリプトを組んだところ、こちらはきちんと「easeOut」の効果がでました。
import mx.transitions.Tween;
b = "easeOut";
var myTween:Tween = new Tween(test_mc, "_x", mx.transitions.easing.Elastic[b], 0, 300, 3, true);


配列アクセス演算子を使って、このようにクラスの中身にアクセスすることは
できないのでしょうか?

最近、Tweenクラスを使うようになりました。とても便利なんですが、たとえば
同じMCにパラメータが少しだけ違うようなTweenを何度か適用するような場合に、
少しでも構文を短縮できないものかと思い、カスタムの関数を作ろうとする中で
この問題に突き当たりました。ズバリな原因や、参考になる文献・サイト等に
心当たりのある方がいらっしゃったら、レス下さると幸いです


----------------
Tonpoo (a.k.a. gaienboy)
Tonpoo.com / TONPOOBLOG / twitter@tonpootwit

野中文雄
Åê¹ÆNo.34720
投稿日時: 2007-8-17 16:43
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: クラスへのアクセスに配列アクセス演算子は使えない?
コンパイル時にmx.transitions.easing.Elasticクラスの必要性が認識されず、SWFに書出されないためだと思われます。面倒ですが、必要なクラスには最初にまとめてアクセスしておく必要があります。
引用:
gaienboyさんは書きました:
この「Elastic」の部分を、他の変数などの条件によって柔軟に「Bounce」や「Regular」
などに切り替えて処理したいと考え、下記のようなスクリプトを組みました。
import mx.transitions.Tween;
mx.transitions.easing.Elastic;  // とにかくアクセス
a = "Elastic";
var myTween:Tween = new Tween(test_mc, "_x", mx.transitions.easing[a].easeOut, 0, 300, 3, true);

しかし、スクリプトエラーこそでなかったものの、「Elastic」の効果を得ることは
できませんでした。


----------------
 

Tonpoo (gaienboy改め)
Åê¹ÆNo.34721
投稿日時: 2007-8-17 17:03
職人
居住地: 東京・神宮前
投稿: 717
使用環境:
Windows 7 Professional,
Flash CS5 Pro,
Flash Player 10,1,102,64
Re: クラスへのアクセスに配列アクセス演算子は使えない?
gaienboyです。
引用:
野中文雄さんは書きました:
コンパイル時にmx.transitions.easing.Elasticクラスの必要性が認識されず、SWFに書出されないためだと思われます。面倒ですが、必要なクラスには最初にまとめてアクセスしておく必要があります。

なるほど!! mx.transitions.easing.Elasticクラスなどは、コンパイル時に明文化して
SWFに書き出しておかないと、後から動的に変数を使ってアクセスしようと思っても無理だ
ということですね。むー、勉強になりました 野中先生、ありがとうございます!!


----------------
Tonpoo (a.k.a. gaienboy)
Tonpoo.com / TONPOOBLOG / twitter@tonpootwit

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops