Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   bitmapdata положение точки поворота (http://www.flasher.ru/forum/showthread.php?t=169280)

bookin 03.10.2011 18:12

сработало вот в таком виде

Код AS3:

while (i--) {
                var curB = boxes[i];
                bmpCar.fillRect(bmpCar.rect, 0);
 
          var myBox : Shape = new Shape();
            myBox.graphics.lineStyle(1, 0x000000);
            myBox.graphics.beginFill(0x000000);
            myBox.graphics.drawRect(16, 16, 32, 32);
            myBox.graphics.endFill();
 
            var myMatrix : Matrix = myBox.transform.matrix;
            var axisPoint : Point = new Point(car.carBody.width/4, car.carBody.height/2);
            var newPoint : Point = myMatrix.transformPoint(axisPoint);
 
                        myMatrix.translate(-axisPoint.x, -axisPoint.y);
                        myMatrix.rotate(car.rotation*(3.14/180));
                        myMatrix.translate(car.x, car.y);
 
                        bmpCar.draw(car.carBody, myMatrix);
 
 
                        if (bmpCar.hitTest(new Point(), 255, curB, new Point(), 255)) {
                                //trace('yra'+Math.random()*5);
                                speed =2;
                        }
        }

к сожалению так и не разобрался =(

fish_r 03.10.2011 18:25

Цитата:

Сообщение от bookin (Сообщение 1036324)
fish_r, спасибо за ссылку на статью но пишу на as3 и так понимаю там нет метода rotateAroundInternalPoint
ну либо я совсем дибил =)
проблема именна с врашением, точнее координатами обьект при вращении, имеется обект ось(точка регистрации) находится грубо говоря в центре обьекта, и создается bitmap у которого данная точка становится в 0,0 обьекта, позиционирование и поворот дублируется из первого обьекта, и при повороте копия смешается, потому появилась потребность сместить данную точку так же как в первом обьекте

Раз вы компилите в ИДЕ 5.5, то точно есть, этот класс поставляется только с Flash IDE. По ссылке, кстати,
речь и идёт про as3 :)

По вашей задаче. Можно оба объекта поместить (можно временно, на время выполнения) в общий для них контейнер, контейнер повернуть нужным образом, затем вынуть объекты из контейнера, предварительно преобразовав их локальные координаты в глобальные, затем переразместить эти элементы уже вне контейнера. См. 1 пункт по ссылке которую я дал выше, это простейший вариант.


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

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