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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     カスタムクラスの中での変数のやりとりについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
baobao
Åê¹ÆNo.38813
投稿日時: 2008-5-14 23:50
新米
居住地: 埼玉
投稿: 7
使用環境:
Flash CS3 WinXPsp2
Re: カスタムクラスの中での変数のやりとりについて
野中様

できました
Delegateクラスを使用して、コールバック関数からクラスに定義した変数を参照し、解決することができました。

以下のスクリプトに落ち着きました。

import mx.transitions.Tween;
import mx.transitions.easing.*;
import mx.utils.Delegate;
class tween {
public var tweenFlag:Boolean=true;
var Obj:Object=new Object;
//コンストラクタ
function tween(tweenName:Tween, mc:MovieClip, att:String, startNum, goalNum, time) {
tweenName = new Tween(mc, att, Strong.easeOut, startNum, goalNum, time, true);
tweenName.onMotionFinished =Delegate.create(this, flagFunc);
function flagFunc(){
tweenFlag=false;
};
}
}

私の質問に長々とお付き合い頂き、そして、迅速且つご丁寧な回答ありがとうございました。
すごく勉強になりました。
野中文雄
Åê¹ÆNo.38815
投稿日時: 2008-5-15 0:40
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: カスタムクラスの中での変数のやりとりについて
解決したようで、よかったですね。

では、本論と関係のない部分で、気づいたことをふたつだけ補足します。第1に、コンストラクタtweenの第1引数(パラメータ)は、問題にはならないものの、意味がありません。以下のフレームアクションの場合と同じです。
// フレームアクション
function tween(tweenName:Number):Void {
	tweenName = 1;
	trace(tweenName);
}
tween(0);

関数内にローカル変数を宣言すれば、第1引数は不要でしょう。

第2に、クラス名は頭文字を大文字にするのがならわしです。もっとも、Tweenとすると、ActionScript定義済みのTweenクラスとややこしいことになります。つまり、あえて必要のある場合でなければ、既存のクラスと同じ名前をつけるのは、避けた方がよいでしょう。
引用:
baobaoさんは書きました:
以下のスクリプトに落ち着きました。
import mx.transitions.Tween;
// ...[中略]...
class tween {
	public var tweenFlag:Boolean=true;
	var Obj:Object=new Object;
	//コンストラクタ
	function tween(tweenName:Tween, mc:MovieClip, att:String, startNum, goalNum, time) {
		tweenName = new Tween(mc, att, Strong.easeOut, startNum, goalNum, time, true);
		// ...[後略]...


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

baobao
Åê¹ÆNo.38816
投稿日時: 2008-5-15 0:53
新米
居住地: 埼玉
投稿: 7
使用環境:
Flash CS3 WinXPsp2
Re: カスタムクラスの中での変数のやりとりについて
野中様

補足説明まで、ありがとうございます。
今後ともよろしくお願いいたします。
« 1 (2)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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