Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   пересечение поверхностей (http://www.flasher.ru/forum/showthread.php?t=142437)

dkrstudio 21.07.2010 13:24

пересечение поверхностей
 
делаю игру на as3 машина двигается. тормозит и все такое. Но нужно придать возможность сталкиватся с объектами. а у меня код только на as2 для пересечения поверхностей. это код для пересечения окружностей (он прост для понимания, после движения, два круга столкнутся и останавливаются)
Код:

circle1 = {};
circle1.clip = circle_clip1;
circle1.x = circle1.clip._x;
circle1.y = circle1.clip._y;
circle1.radius = circle1.clip._width/2;
circle1.xmov = 1;
circle1.ymov = 1;
circle2 = {};
circle2.clip = circle_clip2;
circle2.x = circle2.clip._x;
circle2.y = circle2.clip._y;
circle2.radius = circle2.clip._width/2;
circle2.xmov = -2;
circle2.ymov = 0;
function moveCircles() {
        for (var i = 1; i<=2; ++i) {
                var circle = this["circle"+i];
                circle.x += circle.xmov;
                circle.y += circle.ymov;
                circle.clip._x = circle.x;
                circle.clip._y = circle.y;
        }
}
function CircleToCircleDetection(circle_a, circle_b) {
        var xDiff = circle_a.x-circle_b.x;
        var yDiff = circle_a.y-circle_b.y;
        var distance = Math.sqrt(xDiff*xDiff+yDiff*yDiff);
        if (distance<=circle_a.radius+circle_b.radius) {
                circle2.xmov = 0;
                circle2.ymov = 0;
                circle1.xmov = 0;
                circle1.ymov = 0;

        }
}
_root.onEnterFrame = function() {
        moveCircles();
        CircleToCircleDetection(circle1,circle2);
};

мне не надо переводить из as2 в as3 и писать програму с нуля на as2 тоже не надо. какие альтернативы есть этому коду в as3. Потому что для пересечения линий и примитивов похожие свойства но мне нужен as3. Подскажите пожалуйста альтернативу. Заранее спасибо.


Часовой пояс GMT +4, время: 03:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.