対象:ホームページ・Web制作
回答数: 3件
回答数: 7件
回答数: 3件
flash actionscript3.0 で質問です。
以下のactionscriptを追加してflash上で文字を動かしているのですが、
フレームを移動させるとプロパティまたはメソッドにアクセスできないとエラーが出ます。
もちろん文字も動きません。
現在1フレームより文字を動かしているのですが、なにかasの設定を変えるところがあるんでしょうか?
またこのasを同じタイムラインで再度使用するにはどうすればいいですか?
なにぶんactionscript初心者ですみませんが、よろしくお願いします。
package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import caurina.transitions.Tweener;
import caurina.transitions.properties.FilterShortcuts;
public class TweenerText extends Sprite {
// 文字のインスタンス名
private var txtList:Array = ["t1", "t2", "t3", "t4", "t5", "t6", "t7", "t8", "t9", "t10", "t11", "t12", "t13", "t14", "t15"];
// コンストラクタ
public function TweenerText() {
FilterShortcuts.init();
// 1文字ずつフェードイン
for ( var i:int = 0; i < txtList.length; i++ ) {
var mc:MovieClip = this[txtList[i;
mc.y -= 100;
mc.alpha = 0;
mc.scaleX = mc.scaleY = 3;
Tweener.addTween(mc, { y:mc.y + 150, alpha:1, scaleX:1, scaleY:1, transition:"easeOutElastic", time:5, delay:i * 0.1 } );
if (i == txtList.length - 1) {
Tweener.addTween(mc, { time:3, delay:i * 0.1, onComplete:endTween } );
}
}
}
private function endTween():void {
stage.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(e:MouseEvent):void {
// 1文字ずつフェードアウト
for ( var i:int = 0; i < txtList.length; i++ ) {
var mc:MovieClip = this[txtList[i;
Tweener.addTween(mc, { _Blur_blurX:100, _Blur_blurY:100, alpha:0, transition:"easeOutCubic", time:1, delay:i * 0.1 } );
}
}
}
}
sansaruさん ( 大阪府 / 女性 / 34歳 )
回答:3件

砂川 哲夫
クリエイティブディレクター
-
あくまで参考程度のwebページ。
http://naminy.org/73log/archives/category/web/flash
http://1art.jp/flash9/chapter/128/
この2つのwebページで設定に違いがあれば参考になさってください。

竹波 哲司
Webプロデューサー
-
確かに便利なライブラリですね
竹波です。
caurinaはFlashのオープンソースのtweenライブラリのようですね。
実装までの手順のうち、どこまで対処されているかわかりませんが、
私のほうで、CS3環境にて、ライブラリを利用したところ正しく動作していますので、
その手順を参考までにお伝えしますね。
まず、
1、ライブラリをダウンロードします。
http://code.google.com/p/tweener/downloads/detail?name=tweener_1_33_74_as3.zip
2、解凍してでてきたcaurinaをtest.flaと同じフォルダに置きます。
(今回テストでtest.flaを作りました)
3、TweenerText.asというファイル名として添付のソースを張り付けました。
4、ステージ上に、ダイナミックテキストを適当な文字を入力したものを配置し、これをt1という名前でMCに変換します。同様に、t15まで増やします。
5、プレビューします。
プレビューすると、文字が上下に振動します。
■他の場所で使うには。
この関数の仕組み的には
var mc:MovieClip = this[txtList[i;
と、コンストラクタにてステージ上にあるMCをアニメーションさせるようになっています。
なので、対象のMCをセットして、アニメーションを動作開始させるような
別々のメソッドを用意してあげればいいのではないでしょうか。
クラスの作り方、メソッドやプロパティーの作り方、クラスの使い方などおさらいしてみるとよいかもしれません。

杉村 和彦
ITコンサルタント
-
ムービークリップやスクリプトの置き場所は?
ジャンティエ・ワークショップ 杉村です。
見たところ、スクリプトそのものに文法違いなど無いようです。
「プロパティまたはメソッドにアクセスできない」というエラーということですが、MCはどこに置いてらっしゃいますか?
MCが入れ子になっていたりしていませんか?
このスクリプトの場合、「this」という相対的な場所指定を使ってステージ上のMCに対して動作させますので、MCの置き場所によってスクリプトが「プロパティまたはメソッド」を見失っていることも考えられます。(私もよくやってしまいます^^;)
それが原因かはわかりませんが、設定だけでなくそういった単純ミスも疑ってみた方がいいかもですね!
(現在のポイント:-pt)
このQ&Aに類似したQ&A
表示中のコンテンツに関連する専門家サービスランキング