Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   неадекватный rotation помогите решить проблему! (http://www.flasher.ru/forum/showthread.php?t=169660)

yo3o 09.10.2011 20:40

неадекватный rotation помогите решить проблему!
 
неадекватный rotation помогите решить проблему!

Проблема в том что rotation начинает вести себя очень не адекватно если мы смешаем героя на новые Х или Y

вот сам флешь где можно увидеть саму проблему!
http://***************/5FTAB2
или
http://2file.ru/aa24bb119977

вот часть кода именно rotation
Код AS3:

MyWeapons.rotation=Math.atan2(mouseY-Hero.y,mouseX-Hero.x)/Math.PI*180


Rzer 10.10.2011 00:53

Код AS3:

MyWeapons.rotation=Math.atan2(GameMap.mouseY-Hero.y,GameMap.mouseX-Hero.x)/Math.PI*180


yo3o 10.10.2011 06:25

Спасибо! все работает! можете еще помочь вот у меня тут такой вопрос как создавать с пулей еще одну невидимую пулю которая будет длине и как мне при удалении этой длинной пули удалять ту? может их создавать в общем контейнере и его удалять? вод код создания пули
Код:

function NewMyBullet(event:Event):void {
++lev;
 
//////////////////////////////////////////////////////////////////////////////
var NewR4: MovieClip = new bulletAvtomat();
GameMap.addChild(NewR4)
NewR4.x = Hero.x+(Hero.width/2);
NewR4.y = Hero.y+(Hero.height/2);
NewR4.addEventListener(Event.ENTER_FRAME, NewMyBulletonEnterFrame);
NewR4.rotation = MyWeapons.rotation;
NewR4.a = NewR4.rotation / 180 * 3.14;
function NewMyBulletonEnterFrame(event:Event)//она же и есть листенер
{
    event.target.x = event.target.x + bulletSpeed * Math.cos(event.target.a);
    event.target.y = event.target.y + bulletSpeed * Math.sin(event.target.a);
 
        for (var i=0;i<boxes.length;i++) {if (NewR4.hitTestObject(boxes[i])) {
                NewR4.removeEventListener(Event.ENTER_FRAME, NewMyBulletonEnterFrame);
                if (NewR4.parent) GameMap.removeChild(NewR4);
        };};
        //////////////////////////
        if (event.target.x > 5000){
                NewR4.removeEventListener(Event.ENTER_FRAME, NewMyBulletonEnterFrame);
                if (NewR4.parent) GameMap.removeChild(NewR4);};
        //////////////////////////
        if (event.target.x < -5000){
                NewR4.removeEventListener(Event.ENTER_FRAME, NewMyBulletonEnterFrame);
                if (NewR4.parent) GameMap.removeChild(NewR4);};
        //////////////////////////
        if (event.target.y > 5000){
                NewR4.removeEventListener(Event.ENTER_FRAME, NewMyBulletonEnterFrame);
                if (NewR4.parent) GameMap.removeChild(NewR4);};
        //////////////////////////
        if (event.target.y < -5000){
                NewR4.removeEventListener(Event.ENTER_FRAME, NewMyBulletonEnterFrame);
                if (NewR4.parent) GameMap.removeChild(NewR4);};
};};



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

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