Flashhilfe.de - Flash Community

Caurina Tween Loopen [Flash 10]

 


AntwortenRegistrieren Seite1 2  

f_mal#1
Benutzerbild von f_mal
Beiträge: 104
Registriert: Jul 2009

14.10.2009, 16:31

Hallo zusammen,

ich versuche ein tween zu loopen aber leider ohne erfolg.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
import caurina.transitions.*;
stop();
for (var i:uint=0; i<3; i++) {

   this.scaleMe = function(){
   Tweener.addTween(bild_mc,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear"});
   };

   Tweener.addTween(bild_mc,{alpha:1, time:2, x:110, y:230, scaleX:1.5, scaleY:1.5, transition:"linear",onComplete:this.scaleMe});

}


kann mir bitte jemand dabei helfen?
gruß, flo
zachi69#2
Benutzerbild von zachi69
Beiträge: 136
Wohnort: Kölle am Rinn
Registriert: Jul 2008

14.10.2009, 21:02

Hi,

was willst Du damit erreichen ? Der erste Tween funktioniert, der zweite und dritte wird nich funktionieren weil die Objekte schon verschoben und skaliert sind .

Also, wass soll der Loop bezwecken ?

Gruss,
Zachi
zachi69#3
Benutzerbild von zachi69
Beiträge: 136
Wohnort: Kölle am Rinn
Registriert: Jul 2008

14.10.2009, 21:09

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
var tweens:uint 0;

function 
Tween1():void
{
   if (
tweens 3)
{
 
tweens += 1;
   
Tweener.addTween(bild_mc,{alpha:1time:2x:110y:230scaleX:1.5scaleY:1.5transition:"linear",onComplete:this:Tween2});
}


}

function 
Tween2():void
{
Tweener.addTween(bild_mc,{alpha:0time:1x:330y:220scaleX:1scaleY:1transition:"linear",onComplete:this:Tween1});

}
Tween1();
?>



versuche es so ... es sollte funktionieren :)

Gtuss
Zachi
Geändert von zachi69 am 14.10.09 um 21:14 Uhr
f_mal#4
Benutzerbild von f_mal
Beiträge: 104
Registriert: Jul 2009

Themenautor/in

15.10.2009, 07:36

guten morgen zusammen,

danke für eure antworten. ich möchte einfach meine zeitleiste sauberhalten und deshalb das loop.

den code von Zachi habe ich ausprobiert aber ich bekomme eine fehlermeldung:
ActionScript:
11084: Syntaxfehler: rightbrace vor colon erforderlich. Tweener.addTween(MC,{alpha:1, time:2, x:110, y:230, scaleX:1.5, scaleY:1.5, transition:"linear",onComplete:this:Tween2});


ich benutze FlashCS4 (AS3).

liegt es daran?
gruß, flo
Sleepingbeast#5
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

15.10.2009, 08:18

Hallo flo,

der Fehler liegt genau an der Stelle, die dir die Fehlermeldung ausgibt ;)
Der Doppelpunkt (colon) nach dem this innerhalb des Tweens muss durch einen Punkt ersetzt werden.


Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
f_mal#6
Benutzerbild von f_mal
Beiträge: 104
Registriert: Jul 2009

Themenautor/in

15.10.2009, 10:02

Hallo Patrick,

danke für deine schnelle antwort. du hast recht. jetzt ist die fehler weg.
ein problem hätte ich noch. es macht nicht das was ich erwartet habe.

ich möchte dass alles wiederholt wird (mit eine pause von ca. 1 sek) und nicht das tween2 immer wieder wiederholt wird. (im moment ist es so, dass tween 2 vorwärts und rückwärts abgespielt wird).
bitte um hilfe
gruß, flo
f_mal#7
Benutzerbild von f_mal
Beiträge: 104
Registriert: Jul 2009

Themenautor/in

15.10.2009, 12:59

hallo liebe flasher,

zur info...falls jemand noch das problem hat.
ich habe die aufgabe so gelöst indem ich meine zeitleiste verlängert habe (solange bis die animation fertig ist) wenn das letzte bild erreicht ist, einfach mit gotoAndPlay(1) von vorne anfangen. es funktioniert.

Danke trotzdem für eure hilfe.
gruß, flo
Sleepingbeast#8
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

15.10.2009, 14:38

Hallo Flo,

zeitleisten-basierte Sachen würde ich gar nicht verwenden. Dadurch wird das ganze meines Erachtens ziemlich schnell unübersichtlich und schwerer änderbar. Wenn ich dich richtig verstanden habe, willst du doch einfach nur, dass nachdem dein Tween einmal durchgelaufen ist, eine kurze Pause gemacht wird und dann der Tween neu gestartet wird. Dafür gibts beim Caurina-Tweener den Parameter delay. Ich hab dir nochmal schnell ein Script zusammengebastelt, bei dem genau dieser Parameter verwendet wird.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
import caurina.transitions.*;

function Tween1():void {
   Tweener.addTween(bild_mc, {alpha:0, scaleX:1.5, scaleY:1.5, time:1, onComplete:Tween2});
}

function Tween2():void {
   Tweener.addTween(bild_mc, {alpha:1, scaleX:1, scaleY:1, time:1, delay:1, onComplete:Tween1});
}

Tween1();


Das delay in der Funktion Tween2() bewirkt einfach nur, dass dieser Tween 1 Sekunde wartet, bevor er ausgeführt wird.


Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
f_mal#9
Benutzerbild von f_mal
Beiträge: 104
Registriert: Jul 2009

Themenautor/in

15.10.2009, 15:09

Hy Patrick,

super DANKE. ich bin auch gegen die zeitleiste aber wenn ich nicht mehr weiter komme, muss ich wohl verwenden.
mein problem ist jetzt das ich mehrere tweens habe:

siehe code:
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
import caurina.transitions.*;

bild_mc.alpha=0;
// Funktion für bild_mc und text_mc2 ====================
this.scaleMe = function(){
Tweener.addTween(bild_mc,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:5});
Tweener.addTween(text_mc2,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:5});
};
//Tween1 (blendet bild_mc ein und ruft Funktion scaleMe auf wenn fertig)
Tweener.addTween(bild_mc,{alpha:1, time:2, x:103, y:222, scaleX:1.5, scaleY:1.5, transition:"linear", onComplete:this.scaleMe});
// ======================================================

//Metadata ==============================================
this.metadata_move = function(){
Tweener.addTween(metadata_mc,{alpha:0, time:1, transition:"linear", delay:2});
};
//Tween3 (blendet metadata_mc ein und ruft Funktion metadata_move auf wenn fertig)
Tweener.addTween(metadata_mc,{alpha:1, time:1,  transition:"linear", delay:4, onComplete:this.metadata_move});
// ======================================================
this.text2_move = function(){
Tweener.addTween(text_mc2,{alpha:1, time:1, x:112, y:238, scaleX:1.1, scaleY:1.1, transition:"linear"});
};
//Tween2 (blendet bild_mc ein und ruft Funktion text2_move auf wenn fertig)
Tweener.addTween(text_mc2,{alpha:1, time:1,  transition:"linear", delay:3, onComplete:this.text2_move});
// ======================================================



die schafe ich ohne die zeitleiste leider nicht. wenn du eine idee hast...wäre schön.
gruß, flo
Geändert von f_mal am 15.10.09 um 15:35 Uhr
f_mal#10
Benutzerbild von f_mal
Beiträge: 104
Registriert: Jul 2009

Themenautor/in

15.10.2009, 15:31

also ...das wäre die richtige Reihenfolge des Tweens

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import caurina.transitions.*;

function Tween1():void {
  Tweener.addTween(bild_mc, {alpha:1, scaleX:1.5, scaleY:1.5, x:103, y:222, time:1, onComplete:Tween2});

 
}

function Tween2():void {
     Tweener.addTween(text_mc2,{alpha:1, time:1, x:112, y:238, scaleX:1.1, scaleY:1.1, transition:"linear"});
   Tweener.addTween(metadata_mc,{alpha:1, time:1, transition:"linear", delay:0});
    Tweener.addTween(bild_mc,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:5});
     Tweener.addTween(text_mc2,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:5});
   Tweener.addTween(metadata_mc,{alpha:0, time:1, transition:"linear", delay:5});
}

Tween1();


aber so werden nur einmal abgespielt.
gruß, flo
Sleepingbeast#11
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

15.10.2009, 15:42

Schreib mal genau, was wann passieren soll. Normalerweise geht fast alles per Script. Oder stell mal die Fla-Datei hoch. Dann guck ichs mir mal an und versuch dir mal ein sauberes Script zu schreiben.


Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
f_mal#12
Benutzerbild von f_mal
Beiträge: 104
Registriert: Jul 2009

Themenautor/in

15.10.2009, 15:57

ok...hier mein*.fla als app.zip
http://flomal.esmartdesign.com/app.zip
gruß, flo
Sleepingbeast#13
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

15.10.2009, 16:01

und diese Tweens sollen dann (wenn alle fertig abgelaufen sind) 1 Sekunde Pausieren und dann wieder komplett von vorn starten?
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
f_mal#14
Benutzerbild von f_mal
Beiträge: 104
Registriert: Jul 2009

Themenautor/in

15.10.2009, 16:06

ja..das wäre schön
gruß, flo
Sleepingbeast#15
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

15.10.2009, 16:20

So, ich hab mal was gebastelt. Die eigentliche Wiederholung der beiden Tweens habe ich mit einem Intervall (setInterval()) gemacht.Der Einfachheit halber habe ich mal lediglich die alpha-Werte tweenen lassen. Du brauchst nur noch die anderen Werte für x-/y-Position und scaleX/scaleY an den entsprechenden Stellen einzufügen.
Hier erstmal das Script:
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
import caurina.transitions.*;

bild_mc.alpha      = 0;
text2_mc.alpha    = 0;
metadaten_mc.alpha = 0;

var timer:int;

function Tween1():void {
   Tweener.addTween(bild_mc,      {alpha:1, time:1          });
   Tweener.addTween(text2_mc,      {alpha:1, time:1, delay:1});
   Tweener.addTween(metadaten_mc, {alpha:1, time:1, delay:1});
   clearInterval(timer);
   timer = setInterval(Tween2, 6000);
}

function Tween2():void {
   Tweener.addTween(bild_mc,      {alpha:0, time:1          });
   Tweener.addTween(text2_mc,      {alpha:0, time:1, delay:1});
   Tweener.addTween(metadaten_mc, {alpha:0, time:1, delay:1});
   clearInterval(timer);
   timer = setInterval(Tween1, 3000);   
}

Tween1();


Ich hab mal eine einfache swf-Datei mit angehangen, damit du gleich siehst, was genau passiert.


Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'


Angehängte Dateien:
Adobe Flash Animationen mehrere_tweens.swf12.51 KB
Geändert von Sleepingbeast am 15.10.09 um 16:22 Uhr
f_mal#16
Benutzerbild von f_mal
Beiträge: 104
Registriert: Jul 2009

Themenautor/in

15.10.2009, 16:43

also... DANKE erstmal. ich habe es kurz getestet und komme noch nicht ganz zu recht...
die datei habe ich hochgeladen damit du sehen kannst was passiert.
http://flomal.esmartdesign.com/app.zip

es widerholt sich praktisch nur der schritt 2. siehe anfang und ende.

es ist scheinbar nicht so einfach. zumindest für mich nicht.
gruß, flo

AntwortenRegistrieren Seite1 2  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de