2011-10-24 17 views
0

KinectをFlashに接続してFlash内のアバターをコントロールした後、Kinectに別のプレーヤーを追加し、両方のプレーヤーを使用してアバターを制御します。それぞれ1本の腕と1本の脚。今問題が起こる。私たちが作っている試合中にそれを混ぜ合わせたい。Flash ActionScript 3の関数間でランダムに選択する

したがって、各プレイヤーの腕と脚をランダムに選択するタイマー機能が必要です。しかし、私たちは片方のプレイヤーから両腕/両脚を得ることはできません。

どのようにこれにアプローチする良いアイデアですか?

最後の結果を得るために配列を使用し、いくつかの数学関数を使用することを考えましたが、もっと良い方法があると思っていましたか?あなたがより多くを持つクリーチャーへの切り替えをすることがありますない限り

//Player 1 Hand Right 
p1hr_x = property.MESSAGE.(@NAME == "player1_right_hand_x")[email protected]; 
p1hr_y = property.MESSAGE.(@NAME == "player1_right_hand_y")[email protected]; 
var p1hr_xa:int = p1hr_x*stage.stageWidth; 
var p1hr_ya:int = p1hr_y*stage.stageHeight; 

答えて

0

:私たちは、FlashにのKinectからのx、y座標を取得するためのXML SocketServerを使用している

は、我々は別のプレーヤーの手足のためにこのコードを使用します2つの腕と2つの脚よりも、その特定の状況では本当にシンプルなコードを使用することもできます。

if (Math.random() < 0.5) 
{ 
    player1.arm = character.lArm; 
    player2.arm = character.rArm; 
} 
else 
{ 
    player1.arm = character.rArm; 
    player2.arm = character.lArm; 
} 

そして脚でも同じです。あまり優雅ではないかもしれませんが、このコードは必ずしも実行する必要はありません(ラウンドの開始時にのみ実行されるため)。あなたは任意の数の選手をサポートするか、選手が異なる種類のアバター(異なる数の足など)をコントロールできるように決めるならば、より柔軟なものだけが必要です。

+0

ありがとう、私たちは試してみるつもりです。それはフラッシュに来るとき、私たちのために優れたシンプルな作品のような初心者。 ;-) – Amundsen

関連する問題