Я работаю над этой игрой в пул:
http://cassinlwbg.facebook.joyent.us/quickpool/main.swf
Пожалуйста, откройте его в ДВЕ окна браузера, вы увидите, что запускается режим 2 игрока.
Когда вы делаете выстрел, каждый выстрел копируется другому игроку.
К сожалению, он недостаточно точен.
Игрок делает выстрел с этим кодом:
protected function makeShot(str:Number, ang:Number):void {
var vx = str * Math.cos(ang);
var vy = str * Math.sin(ang);
var vel = _whiteBall.body.GetLinearVelocity();
vel.x += (vx * 10);
vel.y += (vy * 10);
_whiteBall.body.SetLinearVelocity(vel);
}
После этого я посылаю аргументы STRENGTH и ANGLE через мой сервер сокетов другому игроку.
Они поступают точно так же (проверено), даже после преобразования строки в число.
Затем я применяю это к удаленному проигрывателю, как к удаленному снимку, вот так:
//run remote shot
public function applyMove(s:Number, ang:Number){
makeShot(s, angle);
}
Тем не менее, после нескольких выстрелов игра и положение мяча различаются ... что нарушает ход игры.
Кто-нибудь знает почему?
Оба файла игры одинаковы, как вы можете видеть.
Откуда столько отклонений?
С уважением,
Мирза