Проблема с ротацией объекта

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Проблема с ротацией объекта

Сообщение MrDead »

Функция поворачивания объекта к игроку

Код: Выделить всё

private function mob_obzor(ev:Event):void        {            if (main_player.bg.hitTestObject(shere_vis))            {                for (i = 0; i < main_bgplatform.mass.length; i++)            {                main_bgplatform.mass[i].rotation = Math.atan2(main_bgplatform.mass[i].y - main_bgplatform.igrok.y,main_bgplatform.mass[i].x - main_bgplatform.igrok.x) * 180 / Math.PI - 90                rotation_mob = false;            }            }            else            {                 rotation_mob = true;            }
Ф-ция создания объектов на сцене

Код: Выделить всё

    public function addmobs(obj:Object, x:uint, y:uint):void        {                        switch (obj.id)            {        case 0:             mob = new CreateMob(this,igrok);            mob.x = x;            mob.y = y - 1500;            paint_high.addChild(mob);            mass.push(mob);                    break;                //Прямая верхняя стена        }
В общем суть в том, что когда игрок входит в диапозон обзора моба, он должен поворачиваться в нему, но вот получается так, что к какому бы объекту не подошел, все мобы смотрят на игрока, а надо чтобы поворачивался к игроку только тот, в чьем диапазоне он находится. Но вот что-то не особо получается, пробовал с массивом - удалось только поворачивать всех мобов к игроку) Подскажите что сделать(
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Проблема с раотацией

Сообщение MrDead »

Ну или подскажите как повернуть объект, который находится в радиусе 500х500 от центра основного объекта(к которому надо повернуться). То есть проверить, есть ли в зоне 500х500(от центра оснв.объекта) объект класса и добавить его в массив(даже если их несколько), а оттуда делать с ними что нужно
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: Проблема с раотацией

Сообщение XELAD »

Вероятно, в вашем варианте нужно
либо использовать hitTestObject, отрисовав вокруг главного персонажа зону,
либо считать в цикле расстояние от главного персонажа до мобов, и брать тех, которые в определенном радиусе,
либо сравнивать каждого моба с персом по x & y, тем самым используя прямоугольник (а не круг, как в варианте № 2).
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Проблема с ротацией объекта

Сообщение MrDead »

В общем то,решил без hittestobject проблему. Сейчас возник другой вопрос, вместе с поворачиванием объекта, поворачиваются и все остальные объекты входящие в его класс. Например

Код: Выделить всё

text_level = new TextField();
Когда моб поворачивается, поворачивается и text_level, в итоге цифры этого текстового поля исчезают. Что надо прописать, чтобы текстового поле не крутилось вместе с мобом? Попробовал что-то вроде этого в enter_frame

Код: Выделить всё

text_level.rotation = 0 - main_bgplatform.mass[i].rotation;
Но не прокатило
Casperovskii
Сообщения: 429
Зарегистрирован: 22 июн 2012, 17:50

Re: Проблема с ротацией объекта

Сообщение Casperovskii »

MrDead
Нужно в класс ввести функцию, в которую при повороте будет передаваться значение поворота главного класса. А то вы привели одну строчку, а где она находится - не понятно.
Я так понимаю есть класс моб, а внутри него текстфиелд. Так вот функция эта должна каждый раз задавать значение text_level.rotation=-rot, где rot - значение угла поворота родительского класса. И то в этом случае текстфиелд будет переезжать вокруг моба.
А решением по-лучше будет поворачивать не весь родительский спрайт, а только иконку моба.
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Проблема с ротацией объекта

Сообщение MrDead »

Спасибо. До этого в hittestobject нельзя было повернуть спрайт моба, т.к класс и объект в классе по координатам не совпадали, с другим способом поворачивается. Парадокс)
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Проблема с ротацией объекта

Сообщение MrDead »

Всё норм)
Ответить