Results tagged “AS3”

Nov 062008

Progression 3.0.6 をリリース

progression.jp | 開発 | リリースノート | 3.0.6

新しいバージョンがリリースされました。

で、アップデートしてみました。
自分の環境は
・Flash 用標準パッケージ(日本語版)
・FlashDevelop
という感じなので、mxpを更新インストールして、Flashを起動。
Progressionプロジェクトパネルの「アップデート」ボタンをクリックして、更新したいプロジェクトフォルダを選択してアップデート。

自動的にプロジェクトフォルダの中に含まれる(src以下なのか?はちょっと分からなかったですが)FLAファイルが自動的に開かれてアップデートされていきます。で、更新完了。

で、コンパイルしてみると、エラーが出てしまった。

ちとこれまだどこに原因があるのか分かっていませんけど、分かったら追記しておきます。

Continue reading Progression 3.0.6 をリリース.

Nov 052008

progression検証 #15 CastImageLoaderをコマンドで監視編

なんだかまさに付箋状態になりつつある"Progression3"カテゴリ・・・。
ということでもう一つ追加。

外部からイメージを読み込むのに使うクラス"CastImageLoader"。これは"flash.display.Loader"のサブクラスなので"LoadChild(←flash.events.EventDispatcher)"と違ってコマンドで処理待ちしてくれない。
これをコマンドで監視できるようにするのはどーすればよいか?というお話。
"Command"クラスを継承して"CastEvent.CAST_LOAD_COMPLETE"でイベントを排出したり、"executeComplete();"したりすればなんかいけそうな気もするが、ちょっとそれは冗長な気がする。

"Func"クラスを用いて、ごにょごにょしたりしてコマンド監視下に置けないかしら?
"after"メソッドの中でゴニャゴニャしてもいけそうな気もするが、今頭がまわらないので忘れないようにメモ。

Continue reading progression検証 #15 CastImageLoaderをコマンドで監視編.

Nov 042008

progression検証 #14 CastButton編

例えば"/index/food"というシーンがあって、その子供に"/index/food/curry"、"/index/aho/rice"というシーンがあるとする。

で、"/index/food"のシーンではデフォルトで自動的に"/index/food/curry"を表示するようなつくりにする場合。つまりfoodシーン自体は要素を持たない形而上的な存在で、任意(もしくはランダム)で子供シーンを表示する。という場合にSceneID="/index/food"が設定されたCastButtonを動作させないようにすることはできるか?

ということを、元々そういうプロパティがあるのか?も含めて検証してみる。
ちなみにCastButtonやSceneObject等が持っている"group"はそういう用途に使ってもよいのか?まだ良く分かっていない。(実際何に使うべきプロパティなのかイマイチ理解できてない、多分一括消去とかだとは思うんだけど・・違うかな?)

まぁ"progression.current"とかを使えば力業でできなくも無い。

Nov 042008

progression検証 #13Background編

ProgressionのBackgroundクラスにどう取り扱ってよいのか迷い中。
Progressionクラスを初期化すると自動的に追加されるインスタンスなのだけど、"container"と違って、progressionに参照プロパティが無い。で、

Progression インスタンスに関連付けられた汎用的に使用可能な表示オブジェクトを提供します。

と言うことで、ライブラリに実際に"jp.progression.core.casts.Background"クラスでMovieClipオブジェクトを関連付けるような使い方になる。

一応Background - Progression 3.0 - API Referenceな感じで色々メソッドとかあるんだけど、実際これどこからアクセスしてよいのか見当がつかない。(progression.stageにもprogression.rootにもなさそうだけど、そもそもnameもidも定義されているのか?がよく分からない・・)

何か根本的なことを見落としているような気もするのだが・・・。なんだろう??

Continue reading progression検証 #13Background編.

Nov 032008

progression検証 #12複数外部データの読み込み管理編 [

複数の外部ファイルを先読みしてからコンテンツをスタートさせたい場合、Progression3でどうするか?の検証。複数外部ファイルの読み込みのクラスは幾つかあるのですが、(muraken/GroupLoader - Spark projectbulk-loader - Google Codemasapi - Google Codequeueloader-as3 - Google Code)、今回はProgressionのCommandと連動して処理するような形のものを作ってみようかと・・・。

で、まずCommandクラス部分から解析のところで悪戦苦闘中・・・。
はぅ・・・涙
今日中に何とかしたいと思います。
上手くいったら追記します(汗

Nov 012008

progression検証 #11外部データの読み込み、その他の処理編

これまでで、外部XML、画像の読み込みができるようになりました。今回は一旦立ち止り、"LoadURL","CastImageLoader"等のエラー処理について検証。

まずxmlから。以前に書いたものを整理すると
#CODE-1

var config:LoadURL = new LoadURL(new URLRequest("../contents/data/config.xml"));
config.after(function():void
	{
		trace("設定読み込み完了");
		new Conf(config.data);
	}
)
var list:SerialList = new SerialList();
list.addCommand(
	,config
	,new Goto(prog.firstSceneId)
);
list.execute();
これに、基本的な各種イベント監視の追加と、"LoadURL.error"を追加。 #CODE-2
config.addEventListener(Event.COMPLETE, function():void { trace("Event.COMPLETE!!") } );
config.addEventListener(IOErrorEvent.IO_ERROR, function():void { trace("IOErrorEvent.IO_ERROR!!") } );
config.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function():void { trace("SecurityErrorEvent.SECURITY_ERROR!!") } );
config.error(function():void
	{
		trace("config.error");
	}
)
この状態で"URLRequest"のURL値を存在しないファイルにすると、以下のエラーが出ます。
Continue reading progression検証 #11外部データの読み込み、その他の処理編.

Oct 312008

progression検証 #10 外部データ(jpg)の読み込みIndex(CastDocument)編

progression検証 #9 外部データ(xml)の読み込みIndex(CastDocument)編の続き。Index(CastDocument)内での初期化作業で外部xmlの読み込みまではできるようになりました。次に画像系の先読みを初期化で行ってみようと思います。(例えば背景イメージの先読み等)

先のエントリーの最後に「CastImageLoaderとLoadChildのどちらを使うか?」を悩んでいましたが、まだ明確にどちらが良いのか?は分かっていませんが、とりあえず "CastImageLoader"を使って進んでいきます。先エントリのIndex._onInitの中に以下のように追記していきます。
#CODE-1

//背景の読み込み( CastImageLoader)
var _bgLoader:CastImageLoader = new CastImageLoader();
_bgLoader.addEventListener(CastEvent.CAST_LOAD_COMPLETE, function():void
	{
		//画像貼り付け
		prog.container.addChild(_bgLoader);
		_bgLoader.addCommand(
			new Trace("画像の読み込み完了")
			// シーン移動
			,new Goto(prog.firstSceneId)
		)
	}
)
var list:SerialList = new SerialList();
list.addCommand(
	// 設定ファイルの読み込み
	,config
	// 背景画像の読み込み
	,function():void {
		_bgLoader.load(new URLRequest(Conf.getAlias("bg").url));
	}
	,new Trace("#step-1")
);
list.execute();
という感じになりました。 "_bgLoader.load"の実行がこの形が適切なのか分かりませんけど、この命令の後の"new Trace("#step-1")"は"bgLoader"の読み込みを待たずに発動してしまうので、シーン移動のコマンド"new Goto(prog.firstSceneId)"を"bgLoader"の"CastEvent.CAST_LOAD_COMPLETE"イベントの中に入れています。今は他の処理のことも考えてaddCommandの中に入れていますが、いれずに"prog.goto(prog.firstSceneId);"でもOK。

複数ファイルを読み込んだりする場合は、それらを管理するクラスを作って処理した方が良さそうですが、とりあえずこんな感じで・・・・。あっているのだろうか??

あとは"bgLoader"を貼り付けている先
"prog.container.addChild(_bgLoader);"
にしているのだけど、本当は"jp.progression.core.casts.Background"に貼り付けたいのだが、アクセス方法が良く分からない・・・。これどこにあるんだろう?

Progression インスタンスに関連付けられた汎用的に使用可能な表示オブジェクトを提供します。

と書かれているが、"Container"は"progression.container"があるけど・・・。

Continue reading progression検証 #10 外部データ(jpg)の読み込みIndex(CastDocument)編.

Oct 312008

progression検証 #9 外部データ(xml)の読み込みIndex(CastDocument)編

前回(progression検証 #8 外部データをpreloaderで読み込むのをやめて挫折中)の挫折から、みなさまからアドバイス頂いて、Index(CastDocument)で読み込んでみます。

"CastDocument"クラスには一応"addCommand"があるのですがうまく動かないので(理由は良く分からない)、むらけんさんに教えてもらった形で、コマンドリストクラス"SerialList"で設定してみます。


オデは外部リンク、外部ファイル等のURL等をconfig.xmlの中で管理しているので、それを初期化の中で読み込むようにしてみます。("Conf"と言うのは設定情報管理を行うオリジナルクラスです。)"Index"クラスの"_onInit"の中に以下のように書いてみます。
#code-1

var config:LoadURL = new LoadURL(new URLRequest("../contents/data/config.xml"));
config.after(function():void
	{
		trace("設定読み込み完了");
		new Conf(config.data);
	}
)
var list:SerialList = new SerialList();
list.addCommand(
	,config
	,new Goto(prog.firstSceneId)
);
list.execute();

動作としては"config.xml"の読み込みが完了してから最初のシーンに移動するという感じです。これでIndexクラスでの初期化作業も出来そうです。(実際にはLoadURLのエラー処理、loading状況の情報取得等色々入れないといけないですが・・) ありがとうございました!

ADJ:2008/11/01 1:14
すいません、上記の部分環境を家に変えて実行したら"new Conf(this.data);"の部分で

[ERROR] コマンドで ReferenceError エラーが発生。
[ERROR] コマンドで ReferenceError エラーが発生。

になりました。Commandに入れていたのか記憶が定かじゃないですが、"new Conf(config.data);"が正しい記述になります。(多分w)
ということで上記コード修正しておきました。

Continue reading progression検証 #9 外部データ(xml)の読み込みIndex(CastDocument)編.

Oct 302008

progression検証 #8 外部データをpreloaderで読み込むのをやめて挫折中

前エントリー(apeirophobia: progression検証 #7 外部データをpreloaderで読み込んでみる(XML編))で、Preloaderで諸々初期設定等の外部ファイルを読み込んでまとめてloading処理してしまおうと考えていたのですが、実装的(標準ではindex.swfのloadingのみに対応)、制作フロー(indexをオーサリングしているとき、外部データが無いのでpreloadからコンパイルして動作確認を取らないといけない)的にも、あまり効率的ではないと判断して、index.swfの中で初期化フローを持つ方向にシフトしようと思います。

Continue reading progression検証 #8 外部データをpreloaderで読み込むのをやめて挫折中.

Oct 302008

progression検証 #7 外部データをpreloaderで読み込んでみる(XML編)

エラー処理などは放り出して、先に進みます。前回のエントリーではIndexSceneで外部XMLを読み込みましたが、最初のLoading時に設定系外部XMLやらを読み込む事例は多いかと思いますので、次はPreloaderで外部ファイルを読み込んで、SceneObject等からそのデータにアクセスするのはどーすればよいのか試してみます。

まず前検証でIndexSceneに設定した外部XMLの読み込みをPreloaderに移植します。
#code-1

		private var _loadURL:LoadURL;
		public var myXML:XML;
		protected override function _onCastLoadStart():void {
			_loadURL = new LoadURL(new URLRequest("contents/data/products.xml"));
			addCommand(
				new Trace("Preloader commands")
				,this._loadURL.after(parseXML)
				,new Trace("このコマンドはデータ読込み後に実行されます?")
			);
		}
		private function parseXML():void {
			trace("parseData");
			myXML = new XML(_loadURL.data);
			trace(myXML);
		}

こんな感じでOK。 実行すると外部XMLの読み込みが終わってからIndexが展開されます。ステキ。


Continue reading progression検証 #7 外部データをpreloaderで読み込んでみる(XML編).

Oct 292008

progression検証 #6 外部データを読み込んでみる(XML編)

この問題(apeirophobia: Progressionの中でPV3D)がまだクリアになっていないのだけど、ちょっと先に進みます。今回は外部データの読み込みを試してみます。

一般的に外部データとして想定されるものはxml,json,jpg,swf等があります。as3になってバイナリも読み込めるのですがそれはまた別の話で。

最初に至極まっとうにXMLでやってみます。IndexScene.asの_onLoadの中に組み込んでみます。
#code-1

private var _loadURL:LoadURL;
~
protected override function _onLoad():void {
	_loadURL = new LoadURL(new URLRequest("test.xml"));
	_loadURL.after(parseXML);
	_loadURL.execute();
}
private function parseXML():void {
	var myXML:XML = new XML(_loadURL.data);
	trace(myXML);
}

こんな感じ。 次にcommandを使ってみる。

Continue reading progression検証 #6 外部データを読み込んでみる(XML編).

Oct 202008

progression検証 #4 シーンに色々貼り付けてみる(jp.progression.casts)

続いてSceneに色々貼り付けるのに"jp.progression.casts"系を使用してみます。
まずは"AboutScene"。前回で作成した適当なMovieClip"div_scene1"とJPG画像をcast系に変更。bmは以前は"name"を指定していたものを"id"に変更。(一応nameもありますが、getInstanceByIdを検証するためidにしておく)

	mc1 = new div_scene1() as CastMovieClip;
	//bitmap		
	var bmd = new bm_face(0, 0);
	bm = new CastBitmap(bmd);
	bm.id = "face";
	bm.x = 100;
	bm.y = 200;

で、とりあえずコンパイルしてみると"AboutScene"を表示させるタイミングでエラーが発生。

TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。

さてこれは何が原因かいな?ということで、考えると"as CastMovieClip"はちと強引だったかしら?ということで、ライブラリの"div_scene1"のリンケージ設定で、基本クラスを"jp.progression.casts.CastMovieClip"に設定。 これでOK。

さて続いて"AboutScene"で生成されて、"ContactScene"で削除される画像のオブジェクトの処理をするために"ContactScene"の中を設定。"_onInit"の中で

var bm:CastBitmap = getInstanceById("face") as CastBitmap;
if (bm)
{
	progression.container.removeChild(bm);
}

としてコンパイル。 "AboutScne"を表示後、"ContactScene"を表示すると、きちんとbm(id=face)が削除される。 ここまではOK。

ただし、その後他のシーンに遷移してまた"ContactScene"に戻ったり、いきなり"ContactScene"に入ったり、用はCastBitmapオブジェクトが存在しない状態だとエラーが出る。

ArgumentError: Error #2025: 指定した DisplayObject は呼び出し元の子でなければなりません。

"if (bm)"では駄目っぽい。
ちと

var bm:CastBitmap = getInstanceById("face") as CastBitmap;

で何が戻ってきているのか?みてみると

[CastBitmap id="face" name="instance26" group="null"]

な感じ。addChildされているかどうか?は戻り値には関係ないっぽい。 ちなみに"getChildByName"だとremoveChildしたObjectは"null"で戻ってくる。 なので、addChildされているか否かを判定する必要がある・・。 さて・・・。ちょっとひとまずここで休憩。

Continue reading progression検証 #4 シーンに色々貼り付けてみる(jp.progression.casts).

Oct 202008

progression検証 #2 シーンの階層化

続き、ちと横道にそれて子供のシーン、孫のシーンを作ってみる。
Index.asの_onInitの中で定義された"contact"シーンの子供、孫を作ってみる。

//子供シーン contact_1
var contact_1:TempScene = new TempScene("contact_1");
contact.addScene(contact_1);
// contact1 Child button を作成する
var contact_1_bt:TempButton = new TempButton();
contact_1_bt.x = 200;
contact_1_bt.y = 150;
contact_1_bt.sceneId = contact_1.sceneId;
addChild( contact_1_bt );
//孫シーン contact_1_1
var contact_1_1:TempScene = new TempScene("contact_1_1");
contact_1.addScene(contact_1_1);
// contact1 Child button を作成する
var contact_1_1_bt:TempButton = new TempButton();
contact_1_1_bt.x = 200;
contact_1_1_bt.y = 180;
contact_1_1_bt.sceneId = contact_1_1.sceneId;
addChild( contact_1_1_bt );
こんな感じ。 まぁなんて簡単。ステキング。

ただ開発の際に子供コンテンツが外部SWFだとして、それが複数の子供を持つ場合等、制作過程で子供コンテンツで動作確認を取りながら開発とか作業分担は難しいのかなぁ?
いや、そもそもSceneに対して外部コンテンツを定義できるのか?が良く分かってないのだけど・・・。(Sceneの中で外部SWFを読み込む感じかしら?) 例えばその場合その外部SWFの中で再びprogressionを定義して階層化したりしたらどうなるのだろうか?(Staticでは無いので一応可能?)
なんか知りたいことが山のように出てきて中々進めない・・。

まぁ一つ一つ検証してみよう。

Apr 242008

namespace

どーもオデの頭ではイマイチ利便性が理解できない。
まぁすんげー長いクラスとかで用途によってメソッドを分類したりしたいときには便利そうだけど。(クラスというよりも巨大なパッケージライブラリか?)
Namespaces -- Flash CS3

BeInteractive! [Namespace]
ここに書いてある「動作の切り替え」ってのはなんか使えそうな気もするけど、オデの仕事の進め方だとここまできっちりやろうとおもったらinterfaceやらもう完全に出来上がっていて、検証とか終わっているかも知れない・・・汗

なんかクラスを縦断してnamespaceで制御できたりするのかしら?とか思ったけど、importも普通にしないといけないし、ただ記述することが増えたという印象しか今のところ無い。

うーむ勉強しなくては。

Apr 222008

addEventListenerで一緒に引数を渡したい

と思うのはオデだけですか?
なんか方法あるのかしら??

たとえばボタンが2つあってhandlerを同じmethodに引き渡すとして

bt.addEventListener(flash.events.MouseEvent.CLICK,onClick);
bt.skill="aho";
bt2.addEventListener(flash.events.MouseEvent.CLICK,onClick);
bt2.skill="baka";
function onClick(e) {
	trace(e.target.skill);
	trace(e.currentTarget.skill);
}
みたいに書いたりするんだけど、 これ MovieClipがdynamicだからいいけど(独自クラスだったらそれ様の変数を定義しないと) そして 単純な構造だからいいけど(Spriteが入れ子になってたらとか) 普通はこんな簡単なことにはならない。 しかもいちいち変数を定義するのが面倒。 これはイベントドリブンだけの話ではなく、データドリブン時にも同じような不便さを感じる。 (昔自分で作っていたイベントクラスがそういう形だったからというだけなのだけど)

これ

bt2.addEventListener(flash.events.MouseEvent.CLICK,onClick,"aho");
とか出来ないのだろうか??

いや一応

bt2.addEventListener(flash.events.MouseEvent.CLICK,function(){onClick2("baka")});
function onClick2(skill) {
	trace("onClick2",skill);
}
とかすればできるけど、これはまたこれで冗長でなんか汚い。

直感的っぽいのは"flash.events.MouseEvent.CLICK"で生成されるEventに何かしら動的に変数を埋め込むーみたいな感じだけど、この辺やろうと思ったらdispatchのタイミングになるから、EventDispatcherから手を入れないといけないのでヤダ。

いやなんか普通に出来そうな気もするのだけど、こういうことってプログラムの世界ではどういう呼称なのかさっぱり分からないから検索出来なかった。
なんかふつーにできることだったらめっさ恥ずかしいんだけど・・・。

Continue reading addEventListenerで一緒に引数を渡したい.

Apr 132008

2101を拾うタイミング

URLVariablesのdecodeの際に発生するエラー。

2101 The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs.

これを一体どこで拾えばよいのか?分からなくてしばらくはまってしまった。

URLLoader - ActionScript 3.0 Language and Components Referenceを見ていると、明確に取得する方法はなさそうな感じ。サーバとのやり取りの型には問題は存在しないという前提条件で、あとは"HTTPStatusEvent"でサーバエラーかそうじゃないか?を判断すると・・・いうことなのか・・。
(でもHTTPStatusEventでエラーがおこったからと言ってEVENT.COMPLETEをスキップするわけでもなさそう)

これはどうかなー。微妙だ。
URLLoader.dataFormatの設定は逆にリスキーじゃねえ??
これだとURLLoader.dataFormatは指定しないでEvent.COMPLETEハンドラーの中で
new URLVariables
してtry,catchしたほうが確実ってか?
おかしーだろ、じゃdataFormatなんてイラネーじゃねえか。

tryありすぎ・・・多段になっちゃうヨ(書き方がまずいのか?)

っつーかHTTPStatusEventのプロパティがIOErrorEventとかと違うから、一括して単純にエラー処理にまわせない。statusとtextを分岐処理すれば良いだけだけど、面倒なんだけど。せめてstatusとtextを両方に用意しておいてもらいたいと思うのはオデだけですか?
え?event丸ごと投げろって?
まぁそれでもええけど。

Apr 112008

ByteArrayで変数をサーバに送信するの巻

apeirophobia: mx.utils.Base64Encoderでバタバタやっていましたが、nutsuさんのお力添えもあり、無事実装できましたので一応ご報告。

TASK
URLVariablesの中に普通のString等と一緒にByteArrayで構造化した情報を突っ込んで送ることができるか?またそれをサーバから再度読み込んで復元できるか?

PROCESS
1)Base64エンコーダを探すの巻
ByteArrayの送信の際にBase64でエンコードする必要があるので、その辺のクラスを探してみる。corelibのSHA256クラスの中とかにmx.utils.Base64Encoderというクラスの存在が確認できるのだが、そんなものはどこにも無い。ということで最初はhttp://crypto.hurlant.com/のcom.hurlant.util.Base64クラスを使って実装。一応これでも動く。
ただし開発が去年で停止しているのとcorelibの中にもcryptoパッケージが移植されているので、できればmx.utils.Base64Encoderで実装してみたいということでモソモソしてみる。

2)Base64Decoderでエラーが出るの巻
nutsuさんからFlex3 SDKの中に入っているという情報を頂き、喜び勇んでゲット。しかしvar bde:Base64Decoder = new Base64Decoder();を行うと

Error: No class registered for interface 'mx.resources::IResourceManager'.
at mx.core::Singleton$/getInstance()
at mx.resources::ResourceManager$/getInstance()
at mx.utils::Base64Decoder()
at test_PostPlay_fla::MainTimeline/frame1()
が表示され動作しない。

3)Base64Decoderのエラーを回避するの巻
nutsuさんの環境では動作するということでしばらくググッてhttp://bugs.adobe.com/jira/browse/SDK-12205#action_178148に到達。
ということで以下のスクリプトを追記。

import mx.core.Singleton;
var resourceManagerImpl:Object =
flash.system.ApplicationDomain.currentDomain.getDefinition("mx.resources::ResourceManagerImpl");
Singleton.registerClass("mx.resources::IResourceManager", Class(resourceManagerImpl));
これでエラーは出なくなった。
Continue reading ByteArrayで変数をサーバに送信するの巻.

Apr 102008

mx.utils.Base64Encoder

おう、これはどこにあるんだよ?!
ねえじゃねえかよ!!
Flex3買わねえといけねえのかよ?!

Apr 102008

BINARYでloadしたSWFとかをClassに割り振れないのか?

なんか方法ありそうな気がするのだけど、うまくいかないので書いてみる。

以下のようにbinaryでLoadするとして,

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, _onLoaded);
loader.load( new URLRequest( "dummy.swf" ) );
これをMovieClipとして利用するのにはEvent.COMPLETEでバイナリを格納。(実際使っているときはバイナリ管理のクラスをつかってますが)
_bytes = URLLoader( e.target ).data;
_bytes.objectEncoding = ObjectEncoding.AMF3;//これは別にいらんけど
で、実際addChildする際には
var loader1:Loader = new Loader();
loader1.loadBytes( _bytes );
addChild( loader1 );
っつー感じなのですが、これをたとえば"ahoaho"クラスとかに割り振って
new ahoaho();
とかでインスタンス化できるようにできんのか?っつーこと。

いや別にloader使ってaddChildでもいいのだけどさー。
なんか出来そうな気がするのだけど、うまく割り当てが出来ない。

Continue reading BINARYでloadしたSWFとかをClassに割り振れないのか?.

Apr 072008

TweenerのaddCallerをクリアする

オデのためのオデによるブログ "apeirophobia"です。

さて
TweenerでaddCallerを途中で解除したいぜ!というときにどすればええのん?
という質問をされたので書いておきます。

addCallerの場合はproperyが設定されていないのでオデはざっくりと

Tweener.removeTweens(this);
で対応しています。

ただこれだとその要素に対して設定されているすべてのTweenが削除されてしまいますが・・。
オデは基本的にaddCallerを停止させるときはremoveのタイミングで、他のモーションも一括で削除することが多いからそんなに不便さは感じていませんけど、まぁ個別に細かく制御したい場合はaddCallerを割り当てるためのSprite(Shapeでもいいのかしら?)を作ってそこで管理するって感じですかね?

そうする場合の注意点なのですが、

Continue reading TweenerのaddCallerをクリアする.
  1 2 3 4  

Search and Archives

Tags