2011-10-24 34 views
0

我們已經將Kinect連接到Flash並使用它來控制Flash中的化身,然後我們在Kinect中添加了另一個播放器並使用這兩個播放器控制了化身。一隻手臂和一隻腿。現在問題出現了。我們想在我們正在製作的遊戲中混合使用它。在Flash ActionScript 3中的函數之間隨機選擇

所以,我們需要一個計時器的功能,隨機選擇每個玩家的手臂和腿。但是我們必須確保我們不會從一名球員手中得到雙臂或雙腿,反之亦然。

關於如何解決這個問題的任何好主意?

我們想過使用數組並使用幾個數學函數來獲得最終結果,但我希望有更好的方法?

我們使用的是XML的SocketServer擺脫Kinect的x和y座標到Flash,然後我們用了不同玩家的肢體驗證碼:

//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

除非你有更多的被切換到生物比兩條腿和兩條腿,你不妨使用真正簡單的代碼,針對該特定情況:

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

而且腿也是一樣的。它可能不是很優雅,這個代碼並不是必須的,因爲它只是偶爾運行(在一輪開始時)。如果您決定支持任意數量的玩家或允許玩家控制不同種類的頭像(不同數量的頭像等),您只需要更靈活的東西。

+0

謝謝,我們會嘗試一下。談到Flash,有點新鮮,簡單的作品對我們來說非常適合。 ;-) – Amundsen