Hallo zusammen,
ich Bastlle mir gerade ein Stardust mit AS3. Bin auch schon recht weit.
Nun fehlt nur noch die Kleinigkeit von Perspektive

Die Sterne bewegen sich schon auf mich zu aber sie sind immer gleich groß. Mit _xscale & _yscale, hab ich gelesen, sollte das gehen. Aber es will irgendwie nicht.
Kann mir einer von euch vieleicht weiterhelfen?
Tausend dank schonmal!
Code:
package {
// Import
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.display.DisplayObject;
import flash.events.Event;
public class Main extends MovieClip {
public var num_stars:Number=200;
public var stars:Array=[];
var speed:Number=1;
var yspeed:Number=0;
var rspeed:Number=0;
var mouseNav:MovieClip;
public function Main() {
for (var i:Number=0; i < num_stars; i++) {
stars[i]=new star;
addChild(stars[i]);
stars[i].px=Math.floor(Math.random() * 1024);
stars[i].py=Math.floor(Math.random() * 1024);
stars[i].z=Math.floor(Math.random() * 1024);
}
// MouseHandler
this.addEventListener(MouseEvent.CLICK,onClick);
this.addEventListener(Event.ENTER_FRAME, setStars);
}
public function setStars(event:Event) {
var xs:Number=0;
var ys:Number=0;
var alpha= (rspeed + 180) / 360 * 2 * Math.PI;
xs+= yspeed * Math.sin(alpha);
ys+= yspeed * Math.cos(alpha);
for (var i:Number=0; i < num_stars; i++) {
stars[i].z=(stars[i].z - speed) & 1023;
stars[i].x=(((stars[i].px + xs) & 1023) - 512) / (stars[i].z + 200) * 256;
stars[i].y=(((stars[i].py + ys) & 1023) - 512) / (stars[i].z + 200) * 256;
stars[i]._xscale=80 - (stars[i].z / 1024 * 80);
stars[i]._yscale=stars[i]._xscale;
}
}
private function onClick(event:MouseEvent):void {
speed += 1;
}
//Class End
}
}