我们已经将Kinect连接到Flash并使用它来控制Flash中的头像,然后我们在Kinect中添加了另一个玩家并使用两个玩家控制头像。每只一只手臂和一只腿。现在问题来了。我们希望在我们制作的游戏中混合使用它。
因此,我们需要一个计时器上的一个功能,可以从每个玩家中随机选择一个手臂和一条腿。但是我们必须确保我们不会从一个玩家获得双臂/双腿,反之亦然。
关于如何处理这个问题的任何好主意?
我们考虑使用数组并使用几个数学函数来获得最终结果,但我希望有更好的方法吗?
我们使用XML SocketServer从Kinect获取x和y坐标到Flash,然后我们将这个代码用于不同的玩家肢体:
//Player 1 Hand Right
p1hr_x = property.MESSAGE.(@NAME == "player1_right_hand_x").ARGUMENT.@VALUE;
p1hr_y = property.MESSAGE.(@NAME == "player1_right_hand_y").ARGUMENT.@VALUE;
var p1hr_xa:int = p1hr_x*stage.stageWidth;
var p1hr_ya:int = p1hr_y*stage.stageHeight;
答案 0 :(得分:0)
除非你要转换到拥有两条以上双臂和两条腿的生物,否则你也可以使用非常简单的代码来解决这个问题:
if (Math.random() < 0.5)
{
player1.arm = character.lArm;
player2.arm = character.rArm;
}
else
{
player1.arm = character.rArm;
player2.arm = character.lArm;
}
腿也一样。它可能不是很优雅,这段代码不一定非,因为它只是偶尔运行(在一轮开始时)。如果您决定支持任意数量的玩家或允许玩家控制不同类型的化身(不同数量的腿等),您只需要更灵活的东西。