Funktion mit Tweens vom Timer auslösen [Flash 10]
| Beiträge: 6 Registriert: May 2009
| 08.07.2010, 12:13
Moin allerseits!
Habe mal versucht auf AS3 umzusteigen, mit folgendem Beispiel:
Eine Animation für einen allfälligen Preloader; mit einem Kreis in der Bibliothek (Name:circle_mc), dieser wird mit einer for-Schleife acht mal auf die Bühne geladen (Kreisförmig) und in ein container verschachtelt. Die X/Y-Werte werden aus einem Array (circleX/Y) genommen. Nun löst ein Timer acht mal die funktion beginPreloader aus, dort werden diese mit einem Tween verkleinert. Beim Export werden aber komischerweise manche Kreise beim verkleinern ausgelassen...wieso???? thx!!
Code (preloader.as):
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | package {
// Klassen importieren
import flash.display.Sprite;
import flash.display.DisplayObject;
import flash.display.Graphics;
import flash.display.Shape;
import flash.events.*;
//import flash.display.Sprite;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
//
import flash.utils.Timer;
import flash.events.TimerEvent;
public class preloader extends Sprite {
var circleX:Array=[15,26,30,26,15,4,0,4];
var circleY:Array=[0,4,15,26,30,26,15,4];
var circle:Array = new Array();
public function preloader() {
var preLoader_co:Sprite = new Sprite();
var beginTimer:Timer=new Timer(200,8);
//
for (var i:int = 1; i<=circleX.length; i++) {
circle[i] = new circle_mc();
circle[i].x=circleX[i-1];
circle[i].y=circleY[i-1];
circle[i].name="circle"+i;
//circle[i].addEventListener(MouseEvent.MOUSE_OVER, animation);
preLoader_co.addChild(circle[i]);
}
preLoader_co.x=150;
preLoader_co.y=150;
addChild(preLoader_co);
//
var a:int=0;
beginTimer.addEventListener("timer", beginPreloader);
beginTimer.start();
function beginPreloader() {
if (a==0) {
a=1;
}
trace(circle[a].name);
var small_height:Tween=new Tween(circle[a],"height",Strong.easeInOut,circle[a].height,2,2,true);
var small_width:Tween=new Tween(circle[a],"width",Strong.easeInOut,circle[a].width,2,2,true);
trace(a);
a++;
}
}
}
}
|
| | | Beiträge: 4909 Wohnort: zuhaus Registriert: Apr 2004
| 08.07.2010, 12:29
|
|