Ответ AS3 Collision для игры - PullRequest
       9

Ответ AS3 Collision для игры

1 голос
/ 06 февраля 2011

Я уже давно борюсь с методом ответа на столкновение, я пишу в actionscript 3 уже давно, и я надеюсь, что кто-то может объяснить, что означает этот код, потому что я только изменил его.Я не писал это с нуля.также я использую Collision Detection Toolkit, чтобы определить, где происходят столкновения.
Я пытаюсь сделать так, чтобы мяч (то есть объект, который вы перемещаете по экрану с помощью клавиатуры) ударялся о стену или объект.оно не пройдет сквозь стену или объект.

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

vx0:Number = ball.vx * cos + ball.vy * sin;

находка ?.кроме того, я не хочу, чтобы шар ускорялся, я хочу, чтобы его скорость была постоянной, пока он не коснется объекта.также было бы быстрее искать через этот массив в обратном направлении?

- Я ценю любого, кто находит время, чтобы попытаться помочь мне с этим, и я извиняюсь, если у меня есть некоторые опечатки.

     for(i = 0; i < collisions.length; i++) 
        {
            var collision:Object = collisions[i];

            var angle:Number = collision.angle;
            var overlap:int = collision.overlapping.length;
            var ball:Ball = collision.object1;

            var sin:Number = Math.sin(angle);
            var cos:Number = Math.cos(angle);

            var vx0:Number = ball.vx * cos + ball.vy * sin;
            var vy0:Number = ball.vy * cos - ball.vx * sin;

            vx0 = .4;
            ball.vx = vx0 * cos - vy0 * sin;
            ball.vy = vy0 * cos + vx0 * sin;

            ball.vx -= cos * overlap / ball.radius;
            ball.vy -= sin * overlap / ball.radius;
        }

1 Ответ

4 голосов
/ 06 февраля 2011

У Кейта Питерса есть замечательная книга под названием Foundation Actionscript 3.0 Анимация: заставить вещи двигаться .

Глава 9 посвящена теме, с которой у вас возникают проблемы.

Этостраница, в частности, должна быть вам полезна.

http://books.google.ca/books?id=nzyu5TytMEUC&lpg=PP1&dq=actionscript%203.0%20animation&pg=PA235#v=onepage&q&f=false

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

...