2011-10-20 4 views
0

Heyooo ロボットリストにコマンドリストを組み込みたいのですが、私が今やったことは、コマンドリストの俳優がすべてのコマンドを忙しくしていないときに漏斗にすることです。しかし、コマンドが実行されると、 'contextView'への参照。私は間違ったことをしています。コマンドリストとロボットレグ

CommandListsとRobotlegsに便利なヒントはありますか?何度も何度もやったことがあると思いますので。

+0

あなたは何を達成しようとしているのかさらに説明できますか? – ThanksBro

答えて

2

これは、単一のイベントに応じて次々とコマンドを実行しようとしているようです。私の理解では、各コマンドに次のコマンドをトリガするイベントを生成させるか、またはすべてのコマンドを同じイベントに登録するかのいずれかを選択する必要があります。

contextViewの値に触れてはいけません(書き込むために)、あなたがしてはいけないことをしているように聞こえます。

+0

私はコンテキストビューには何もしていません。私が望むのは、別のコマンドに関連する一連のコマンドをキューに入れないことです。その場合、コマンドをイベントに関連付けることは良い解決策になります。しかし、私が望むのは、どんなコマンドも、キューの中に残しておくことです。 – user1005076

+0

....................... – user1005076

+0

私はこのようなやり直しとやり直しの機能をやったことがありますし、私がやったことは二重にリンクされたリスト。コマンドが実行されると、リンクのプロパティにイベントが格納されます。アクションが取り消されると、やり直しはイベントを後で再送することです。あなたのケースでできることは、イベントを作成するのに必要な情報を保存し、各コマンドでリスト内の次のリンクにカーソルを移動させ、次のイベントを作成して送出することです(前のアクションをチェーンから切り離す元に戻す必要があります)。 –

0

RobotLegsのユーティリティに興味があります。

CommandLib(SequenceCommand)

+0

また、@alecmceコマンドフローソリューションで非同期シーケンスコマンドをチェックしてください。 - [ソース](https://github.com/alecmce/robotlegs-flow-extension) - [説明](http://alecmce.com/as3/commandflow-another-approach-to-robotlegs-asynchronicity ) –

0

どのようにこれらのコマンドを実行していますか?

おそらくインスタンス化して手動で実行していたでしょうか?

インスタンス化して実行するにはcommandMapを使用する必要があります。これにより、依存関係(contextViewなど)が確実に提供されます。

commandMap.execute(SomeCommandClass, someEventInstance, SomeEventClass); 

あなたのユーティリティでのCommandMapにアクセスする必要がある場合、あなたはそれを注入する必要がある場合があります:(あなたのコマンドは、イベントに依存している場合)

commandMap.execute(SomeCommandClass); 

または:たとえば

[Inject] public var commandMap:ICommandMap; 

希望に役立ちます。

関連する問題