Loading:


Efekt poruszania się statku kosmicznego za pomocą strzałek - ActionScript 3

Skrypt tworzy obiekt, który zaczyna się poruszać z prędkością wzsrastającą, siła przyspieszanie zależy od ilości naciśnięcia klawisza strzałki.

 

Przykład posiada również wbudowaną jednak nie aktywną grawitację, aktywowacj ją można po przez usunięciue ukośników przed dwoma liniami.

 

Piłka porusza się względem osi X oraz Y, technika ta jest spotykana w większości gier FLASH.

 

Wersja On-line:

 



Napisz Artyku³

Listing

//Kod pliku Przyspieszenie.as

package
{
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.KeyboardEvent;
        import flash.ui.Keyboard;
       
        public class Przyspieszenie extends Sprite
        {
                private var ball:Ball;
                private var vx:Number = 0;
                private var vy:Number = 0;
                private var ax:Number = 0;
                private var ay:Number = 0;
                private var gravity:Number = 0.1;
               
                public function Przyspieszenie()
                {
                        init();
                }
               
                private function init():void
                {
                        pilka = new Pilka();
                        addChild(pilka);
                        pilka.x = stage.stageWidth / 2;
                        pilka.y = stage.stageHeight / 2;
                        addEventListener(Event.ENTER_FRAME, onEnterFrame);
                        stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
                        stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
                }
               
                private function onKeyDown(event:KeyboardEvent):void
                {
                        switch(event.keyCode)
                        {
                                case Keyboard.LEFT :
                                ax = -0.2;
                                break;
                               
                                case Keyboard.RIGHT :
                                ax = 0.2;
                                break;
                               
                                case Keyboard.UP :
                                ay = -0.2;
                                break;
                               
                                case Keyboard.DOWN :
                                ay = 0.2;
                                break;
                               
                                default :
                                break;
                        }
                }
               
                private function onKeyUp(event:KeyboardEvent):void
                {
                        ax = 0;
                        ay = 0;
                }
               
                private function onEnterFrame(event:Event):void
                {
                        vx += ax;
                        vy += ay;
                        //vy += gravity;
                        pilka.x += vx;
                        pilka.y += vy;
                }
        }
}


//Kod dla pliku Pilka.as

package {
        import flash.display.Sprite;
       
        public class Pilka extends Sprite {
                private var promien:Number;
                private var kolor:uint;
               
                public function Pilka(promien:Number=40, kolor:uint=0xff0000) {
                        this.promien = promien;
                        this.kolor = kolor;
                        init();
                }
               
                public function init():void {
                        graphics.beginFill(kolor);
                        graphics.drawCircle(0,0, promien);
                        graphics.endFill();
                }
        }
}




Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38473
Komentarze użytkowników
    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2021 v.1.5 | design: diviXdesign & rainbowcolors