maver98k Posted September 1, 2014 Report post Posted September 1, 2014 Tworzę, krótką animację, w której obiekt porusza się w zadanym kierunku ze stałą prędkością. Chciałbym mieć możliwość sterowania tym obiektem za pomocą klawiatury i strzałek LEWO/PRAWO. Podaję poniżej mój kod. Niby flash nie wyrzuca mi żadnego błędu, a pomimo tego po naciśnięciu strzałek nic się nie dzieje. Co jest nie tak z tym kodem? Proszę o pomoc w tym jakże banalnym dla was developerów zagadnieniu.... import flash.geom.*; var distance:Number = 1; var kurs:Number = 360 var angle:Number = 2 * Math.PI * (kurs / 360); var translatePoint:Point = Point.polar(distance, angle); stage.addEventListener(KeyboardEvent.KEY_DOWN, skrecajstatek); function skrecajstatek(evt:KeyboardEvent){ if(evt.keyCode == Keyboard.LEFT){ kurs = 180; } if(evt.keyCode == Keyboard.RIGHT){ kurs = 360; } } stage.addEventListener(Event.ENTER_FRAME, ruszajstatek); function ruszajstatek(Event) { mcstatek.x += translatePoint.x; mcstatek.y += translatePoint.y; } Quote Share this post Link to post Share on other sites More sharing options...
kodOdAli Posted September 27, 2014 Report post Posted September 27, 2014 (edited) Nie programuję w AS, ale na pierwszy rzut oka może brakować aktualizacji wartości zmiennych angle i translatePoint przy obsłudze naciskania klawiszy lewo-prawo, czyli wewnątrz funkcji skrecajstatek - spróbuj dodać kod zaznaczony pogrubioną czcionką: function skrecajstatek(evt:KeyboardEvent){ if(evt.keyCode == Keyboard.LEFT){ kurs = 180; } if(evt.keyCode == Keyboard.RIGHT){ kurs = 360; } angle = 2 * Math.PI * (kurs / 360); translatePoint = Point.polar(distance, angle); } Edited September 27, 2014 by kodOdAli Quote Share this post Link to post Share on other sites More sharing options...