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:
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();
}
}
}
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: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno