Animation soll per Stop Button angehalten werden [Flash 10]
| 06.11.2009, 15:31 | | Beiträge: 104 Registriert: Jul 2009
| Animation soll per Stop Button angehalten werden hallo zusammen,
ich habe mal wieder ein problem das ich nicht lösen kann.
es geht hier um eine Tween animatin die im moment geloopt wird.
jetzt möchte ich gerne das meine animation auch gestoppt werden kann.
button Stop und
button Play wüäre meine vorstellung.
Kann bitte jemand helfen?
mein 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 27 28 29 30 31 32 33 34 35 36 37 38 39 | import caurina.transitions.*;
bild_mc.alpha=0;
text_mc2.alpha=0;
metadata_mc.alpha=0;
loc_text_mc.alpha=0;
var timer:int;
function Tween1():void {
bild_mc.x=103;
bild_mc.y=125;
text_mc2.x=112;
text_mc2.y=290;
metadata_mc.x=34;
metadata_mc.y=236;
Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:75, y:341, scaleX:0.7, scaleY:0.7, transition:"linear"});
Tweener.addTween(bild_mc, {alpha:1, scaleX:1.5, scaleY:1.5, x:103, y:222, time:4});
Tweener.addTween(text_mc2,{alpha:1, time:1, transition:"linear", delay:3});
Tweener.addTween(metadata_mc,{alpha:1, time:1, transition:"linear", x:43, y:236, delay:3});
Tweener.addTween(text_mc2,{time:1, x:110, y:238, scaleX:1.1, scaleY:1.1, transition:"linear", delay:4});
clearInterval(timer);
timer=setInterval(Tween2,5000);
}
function Tween2():void {
Tweener.addTween(bild_mc,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:3});
Tweener.addTween(text_mc2,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:3});
Tweener.addTween(metadata_mc,{alpha:0, time:1, transition:"linear", x:330, y:220,delay:3});
Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:160, y:230, scaleX:1.4, scaleY:1.4, transition:"linear", delay:3});
clearInterval(timer);
timer=setInterval(Tween1,6000);
}
Tween1();
|
gruß, flo | |
| 06.11.2009, 15:56 | Re1 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
| du könntest ein Boolean erzeugen dass wenn es true ist die tweens einfach weiter loopen
wenn du jetzt den button Stop drückst wird dieses auf false gesetzt und die tweens werden nicht mehr durchgefürht (per if-abfrage)
wenn du wieder auf play drückst erhält die boolean wieder true und die tweens laufen weiterDie Lösung ist: das Suchen.
LongCrew = 2 people | |
| 06.11.2009, 16:06 | Re2 | Beiträge: 104 Registriert: Jul 2009
Themenautor/in
| hallo...und danke für deine schnelle antwort.
ich versuche genau das umzusetzen. ich habe aber keine große erfahrung.
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 | import caurina.transitions.*;
var schalter:Boolean = true;
if (schalter==true){
bild_mc.alpha=0;
text_mc2.alpha=0;
metadata_mc.alpha=0;
loc_text_mc.alpha=0;
var timer:int;
function Tween1():void {
bild_mc.x=103;
bild_mc.y=125;
text_mc2.x=112;
text_mc2.y=290;
metadata_mc.x=34;
metadata_mc.y=236;
Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:75, y:341, scaleX:0.7, scaleY:0.7, transition:"linear"});
Tweener.addTween(bild_mc, {alpha:1, scaleX:1.5, scaleY:1.5, x:103, y:222, time:4});
Tweener.addTween(text_mc2,{alpha:1, time:1, transition:"linear", delay:3});
Tweener.addTween(metadata_mc,{alpha:1, time:1, transition:"linear", x:43, y:236, delay:3});
Tweener.addTween(text_mc2,{time:1, x:110, y:238, scaleX:1.1, scaleY:1.1, transition:"linear", delay:4});
clearInterval(timer);
timer=setInterval(Tween2,5000);
}
function Tween2():void {
Tweener.addTween(bild_mc,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:3});
Tweener.addTween(text_mc2,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:3});
Tweener.addTween(metadata_mc,{alpha:0, time:1, transition:"linear", x:330, y:220,delay:3});
Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:160, y:230, scaleX:1.4, scaleY:1.4, transition:"linear", delay:3});
clearInterval(timer);
timer=setInterval(Tween1,6000);
}
Tween1();
}
button.addEventListener(MouseEvent.CLICK, StopMe);
function StopMe(event:MouseEvent):void{
schalter=false;
}
|
irgendwie geht es nicht. kannst du bitte weiterhelfen?
DANKEgruß, flo | |
| | | nicht sichtbar bei eingeloggten Mitgliedern |
|
| 06.11.2009, 16:47 | Re3 | Beiträge: 4906 Wohnort: zuhaus Registriert: Apr 2004
| hi,
kannst dir ja auch das mal reinziehen, damit könntest du gesamte animationen starten/stoppen....lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen... | |
| 06.11.2009, 16:51 | Re4 | Beiträge: 104 Registriert: Jul 2009
Themenautor/in
| hi,
muss ich meine tweens mit TweenMax neu machen?
oder geht auch mit caurina tweengruß, flo | |
| 06.11.2009, 17:34 | Re5 | Beiträge: 104 Registriert: Jul 2009
Themenautor/in
| hallo zusammen,
ich habe es geschafft zu per btn_Play zu starten. jetzt muss noch irgendwie auch gestoppt werden können.
ich krieg einfach nicht hin. bitte um hilfe.
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 | import caurina.transitions.*;
var schalter:Boolean=true;
btn_stop.buttonMode=true;
btn_stop.addEventListener(MouseEvent.CLICK, StopMe);
function StopMe(event:MouseEvent):void {
schalter==false;
}
button.buttonMode=true;
button.addEventListener(MouseEvent.CLICK, PlayMe);
function PlayMe(event:MouseEvent):void {
trace("stopMe");
if (schalter==true) {
trace("PlayMe");
bild_mc.alpha=0;
text_mc2.alpha=0;
metadata_mc.alpha=0;
loc_text_mc.alpha=0;
var timer:int;
function Tween1():void {
bild_mc.x=103;
bild_mc.y=125;
text_mc2.x=112;
text_mc2.y=290;
metadata_mc.x=34;
metadata_mc.y=236;
Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:75, y:341, scaleX:0.7, scaleY:0.7, transition:"linear"});
Tweener.addTween(bild_mc, {alpha:1, scaleX:1.5, scaleY:1.5, x:103, y:222, time:4});
Tweener.addTween(text_mc2,{alpha:1, time:1, transition:"linear", delay:3});
Tweener.addTween(metadata_mc,{alpha:1, time:1, transition:"linear", x:43, y:236, delay:3});
Tweener.addTween(text_mc2,{time:1, x:110, y:238, scaleX:1.1, scaleY:1.1, transition:"linear", delay:4});
clearInterval(timer);
timer=setInterval(Tween2,5000);
}
function Tween2():void {
Tweener.addTween(bild_mc,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:3});
Tweener.addTween(text_mc2,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:3});
Tweener.addTween(metadata_mc,{alpha:0, time:1, transition:"linear", x:330, y:220,delay:3});
Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:160, y:230, scaleX:1.4, scaleY:1.4, transition:"linear", delay:3});
clearInterval(timer);
timer=setInterval(Tween1,6000);
}
Tween1();
}
}
|
gruß, flo | |
| | | nicht sichtbar bei eingeloggten Mitgliedern | 
|
| 06.11.2009, 17:57 | Re6 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
| playButton_Click -> boolean = ture, ruf Fkt PlayTweens auf in dieser Fkt frage ab of Boolean ture ist oder false
play u stop butotn
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | playButton.addEventListener(MouseEvent.CLICK, PlayButton_Click);
playButton.addEventListener(MouseEvent.CLICK, StopButton_Click);
private function PlayButton_Click(event:MouseEvent):void
{
boolean = "true";
PlayTweens();
}
private function StopButton_Click(event:MouseEvent):void
{
boolean = "false";
PlayTweens();
}
|
ActionScript:1 2 3 4 5 6 7 8 9 10 11 | private function PlayTweens():void
{
if (boolean == ture)
{
//die ganze Play Tween geschichte
}
if (boolean == flase)
{
//tu nix-> play keine tweens
}
}
|
Die Lösung ist: das Suchen.
LongCrew = 2 people | Geändert von longCrew am 06.11.09 um 18:00 Uhr
| |
|
| 06.11.2009, 17:59 | Re7 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
| ps die var sollte nicht boolean heißen sondern evtl ButtonState -> typDekl. ist dann schon Boolean:)
mfg
sebDie Lösung ist: das Suchen.
LongCrew = 2 people | |
| 06.11.2009, 18:11 | Re8 | Beiträge: 104 Registriert: Jul 2009
Themenautor/in
| hi,
danke für deine hilfe. ich habe es umgesetzt aber leider kann ich nicht stoppen...
woran kann es liegen?
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 56 57 58 59 60 61 62 63 64 65 66 | import caurina.transitions.*;
var schalter:Boolean;
btn_play.addEventListener(MouseEvent.CLICK, PlayButton_Click);
function PlayButton_Click(event:MouseEvent):void
{
schalter = true;
PlayTweens();
}
btn_stop.addEventListener(MouseEvent.CLICK, StopButton_Click);
function StopButton_Click(event:MouseEvent):void
{
schalter = false;
PlayTweens();
}
function PlayTweens():void
{
if (schalter == true)
{
bild_mc.alpha=0;
text_mc2.alpha=0;
metadata_mc.alpha=0;
loc_text_mc.alpha=0;
var timer:int;
function Tween1():void {
bild_mc.x=103;
bild_mc.y=125;
text_mc2.x=112;
text_mc2.y=290;
metadata_mc.x=34;
metadata_mc.y=236;
Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:75, y:341, scaleX:0.7, scaleY:0.7, transition:"linear"});
Tweener.addTween(bild_mc, {alpha:1, scaleX:1.5, scaleY:1.5, x:103, y:222, time:4});
Tweener.addTween(text_mc2,{alpha:1, time:1, transition:"linear", delay:3});
Tweener.addTween(metadata_mc,{alpha:1, time:1, transition:"linear", x:43, y:236, delay:3});
Tweener.addTween(text_mc2,{time:1, x:110, y:238, scaleX:1.1, scaleY:1.1, transition:"linear", delay:4});
clearInterval(timer);
timer=setInterval(Tween2,5000);
}
function Tween2():void {
Tweener.addTween(bild_mc,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:3});
Tweener.addTween(text_mc2,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:3});
Tweener.addTween(metadata_mc,{alpha:0, time:1, transition:"linear", x:330, y:220,delay:3});
Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:160, y:230, scaleX:1.4, scaleY:1.4, transition:"linear", delay:3});
clearInterval(timer);
timer=setInterval(Tween1,6000);
}
Tween1();
}
if (schalter == false)
{
//tu nix
}
}
|
gruß, flo | |
| 06.11.2009, 18:20 | Re9 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
| ich glaub mal wg dem timer da dieser immer wieder aufgerufen wird... ich seh ma des mal an
trace mal am anfang der PlayTweens fkt welchen wert die Boolean hat, dass du überprüf kannst wenn stop gedrückt wird das diese auch wirklich flase hatDie Lösung ist: das Suchen.
LongCrew = 2 people | |
| 06.11.2009, 18:21 | Re10 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
| bau mal vor dem Timer eine if abfrage ein ob die boolean noch true istDie Lösung ist: das Suchen.
LongCrew = 2 people | |
| 06.11.2009, 18:27 | Re11 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
| Warum hast du den Timer um die Tween eine bestimmte Zeit zu wiederholen und danach ruft du Tween2 auf welcher auch wiederholt wird oder?
kennst du onComplete die kannst du an deinen Tweens ranhängen und dort könntest du dann den Timer aufrufen z.B.
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 | Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:75, y:341, scaleX:0.7, scaleY:0.7, transition:"linear"}, onComplete:fertigTween1());
Tweener.addTween(bild_mc, {alpha:1, scaleX:1.5, scaleY:1.5, x:103, y:222, time:4, fertigTween1});
Tweener.addTween(text_mc2,{alpha:1, time:1, transition:"linear", delay:3, fertigTween1});
Tweener.addTween(metadata_mc,{alpha:1, time:1, transition:"linear", x:43, y:236, delay:3, fertigTween1});
Tweener.addTween(text_mc2,{time:1, x:110, y:238, scaleX:1.1, scaleY:1.1, transition:"linear", delay:4}, fertigTween1);
public funktion fertigTween1():void
{
//hier überprüfen ob der Wert der Var noch true ist mit if-Anweisung
clearInterval(timer);
timer=setInterval(Tween2,5000);
}
|
schau aber lieder nochmla in der api nach wie es genau gehtDie Lösung ist: das Suchen.
LongCrew = 2 people | Geändert von longCrew am 06.11.09 um 18:28 Uhr
| |
|
| 09.11.2009, 10:08 | Re12 | Beiträge: 104 Registriert: Jul 2009
Themenautor/in
| schöne guten morgen an alle,
hallo LongCrew... DANKE für deine einsatz am freitag. sorry aber ich musste dringend weg und kam nicht mehr dazu dir zu beantworten.
eine frage zu deine lösung. muss ich beide funktionen abändern?gruß, flo | |
| 09.11.2009, 10:35 | Re13 | Beiträge: 104 Registriert: Jul 2009
Themenautor/in
| Hi,
also...ich habe nochmal umgeschrieben aber leider ohne erfolg.
der play button funktioniert aber der stop nicht. ich weiß nicht woran es liegen kann.
mein 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 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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | import caurina.transitions.*;
var schalter:Boolean;
btn_stop.addEventListener(MouseEvent.CLICK, StopButton_Click);
btn_play.addEventListener(MouseEvent.CLICK, PlayButton_Click);
function PlayButton_Click(event:MouseEvent):void {
schalter=true;
PlayTweens();
}
function StopButton_Click(event:MouseEvent):void {
schalter=false;
PlayTweens();
}
function PlayTweens():void {
if (schalter==true) {
bild_mc.alpha=0;
text_mc2.alpha=0;
metadata_mc.alpha=0;
loc_text_mc.alpha=0;
var timer:int;
function Tween1():void {
bild_mc.x=103;
bild_mc.y=125;
text_mc2.x=112;
text_mc2.y=290;
metadata_mc.x=34;
metadata_mc.y=236;
Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:75, y:341, scaleX:0.7, scaleY:0.7, transition:"linear", onComplete:fertigTween1()});
Tweener.addTween(bild_mc, {alpha:1, scaleX:1.5, scaleY:1.5, x:103, y:222, time:4, onComplete:fertigTween1()});
Tweener.addTween(text_mc2,{alpha:1, time:1, transition:"linear", delay:3, onComplete:fertigTween1()});
Tweener.addTween(metadata_mc,{alpha:1, time:1, transition:"linear", x:43, y:236, delay:3, onComplete:fertigTween1()});
Tweener.addTween(text_mc2,{time:1, x:110, y:238, scaleX:1.1, scaleY:1.1, transition:"linear", delay:4, onComplete:fertigTween1()});
}
function fertigTween1():void {
//hier überprüfen ob der Wert der Var noch true ist mit if-Anweisung
clearInterval(timer);
timer=setInterval(Tween2,5000);
}
function Tween2():void {
Tweener.addTween(bild_mc,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:3, onComplete:fertigTween2()});
Tweener.addTween(text_mc2,{alpha:0, time:1, x:330, y:220, scaleX:1, scaleY:1, transition:"linear", delay:3, onComplete:fertigTween2()});
Tweener.addTween(metadata_mc,{alpha:0, time:1, transition:"linear", x:330, y:220,delay:3, onComplete:fertigTween2()});
Tweener.addTween(loc_text_mc,{alpha:1, time:1, x:160, y:230, scaleX:1.4, scaleY:1.4, transition:"linear", delay:3, onComplete:fertigTween2()});
/*clearInterval(timer);
timer=setInterval(Tween1,6000);*/
}
function fertigTween2():void {
//hier überprüfen ob der Wert der Var noch true ist mit if-Anweisung
clearInterval(timer);
timer=setInterval(Tween1,6000);
}
Tween1();
}
if (schalter==false) {
//tu nix
}
}
|
wer kann mir bitte sagen oder zeigen wie ich das problem lösen kann?gruß, flo | |
| 09.11.2009, 19:56 | Re14 | Beiträge: 83 Wohnort: meerbusch Registriert: Dec 2002
| Deine buttonfunktionen sind ja so richtig gesetzt.
Kenne pers. die Tweener - Klasse noch nicht, aber wenn Du bei dem schalter Wert "false" die Funktion "tue nichts" aufrufst, läuft der ganze Tween-Kram ja noch, die Funktion bewirkt also auch nichts.
Wahrscheinlich mußte dann die addTweens erstmal mit removeTweens entfernen, jedenfalls ist Dein Aufruf so nicht klar.
Hoffe, das hilft weiter, an den Buttons liegts jedenfalls nicht:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | var schalter:Boolean;
btn_stop.addEventListener(MouseEvent.CLICK, StopButton_Click);
btn_play.addEventListener(MouseEvent.CLICK, PlayButton_Click);
function PlayButton_Click(event:MouseEvent):void {
schalter=true;
trace("hier", schalter);
// PlayTweens();
}
function StopButton_Click(event:MouseEvent):void {
schalter=false;
trace("hierNicht", schalter);
//PlayTweens();
}
|
art 4 internet 4 art
www.artbldg.net | |
| | Themen Ähnliche Beiträge zum Thema | 23.12.2009 - NameNick 04.12.2010 - Macciquita 19.07.2009 - Raptorcss 24.01.2011 - tigran82 |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|