Выбор случайным образом между функциями во Flash ActionScript 3 - PullRequest
0 голосов
/ 24 октября 2011

Мы подключили Kinect к Flash и использовали его для управления аватаром внутри Flash, затем мы добавили другого игрока в Kinect и управляем аватаром с помощью обоих игроков. Одна рука и одна нога каждая. Теперь проблема приходит. Мы хотим смешать это во время нашей игры.

Итак, нам нужна функция таймера, которая случайным образом выбирает руку и ногу у каждого игрока. Но мы должны быть уверены, что мы не получим обе руки / ноги от одного игрока или наоборот.

Есть хорошие идеи о том, как к этому подойти?

Мы думали об использовании массива и нескольких математических функций для получения окончательного результата, но я надеялся, что есть лучший способ?

Мы используем XML SocketServer для получения координат x и y из Kinect во 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;

1 Ответ

0 голосов
/ 24 октября 2011

Если вы не переключитесь на существ с более чем двумя руками и двумя ногами, вы также можете использовать действительно простой код для этой конкретной ситуации:

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

И то же самое для ног. Это может быть не очень элегантно, этот код не должен быть, потому что он запускается только изредка (в начале раунда). Вам нужно только что-то более гибкое, если вы когда-нибудь решите поддержать произвольное количество игроков или позволить игрокам контролировать различные виды аватаров (разное количество ног и т. Д.).

...