{lang: 'de'}
Flashhilfe.de - Flash Community

Funktion mit Tweens vom Timer auslösen [Flash 10]

 


AntwortenRegistrieren Seite1  

baru18#1
Benutzerbild von baru18
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++;
           }
 
        }
 
     }
}
Schlagwörter: Timer, Tween
springer#2
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

08.07.2010, 12:29