Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-11-2011, 07:30   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2011
Beiträge: 4
Elemente größer und wieder kleiner skalieren

Hallo,

ich docktere schon seit zwei Tagen an einem Problem und habe leider immer noch keine Lösung.

Ein Element soll sich grösser skalieren, eine Sekunde stoppen und sich dann in gleicher Geschwindigkeit wie beim größer werden, wieder auf die Ursprungsgröße zurück skalieren.

Größer skalieren funktioniert, aber leider skaliert das Element in einem Ruck wieder zurück.
Was mache ich falsch?
Hier der Code:
PHP-Code:
import fl.transitions.Tween
import fl.transitions.easing.*; 

var 
scale2:Tween;

if
(
scale2 = new Tween (kleosan_mc,"scaleX",Strong.easeInOutkleosan_mc.scaleX10.5true),
 
scale2 = new Tween (kleosan_mc,"scaleY",Strong.easeInOutkleosan_mc.scaleY10.5true)){

scale2 = new Tween (kleosan_mc"scaleX"Strong.easeInOut,kleosan_mc.scaleX1.61.5,true); 
scale2 = new Tween (kleosan_mc"scaleY"Strong.easeInOut,kleosan_mc.scaleY1.61.5,true);
}
stop();
setTimeout(function(mc:MovieClip):void{mc.play();}, 1000this); //<- 1000 für 1 sekunde  


var scale22:Tween;


if
(
scale22 = new Tween(kleosan_mc"scaleX"Strong.easeInOut,kleosan_mc.scaleX1.61.5true),
 
scale22 = new Tween(kleosan_mc"scaleY"Strong.easeInOut,kleosan_mc.scaleY1.61.5true)){
 
 
scale22 = new Tween(kleosan_mc"scaleX"Strong.easeInOut,kleosan_mc.scaleX10.5,  false);
 
scale22 = new Tween(kleosan_mc"scaleY"Strong.easeInOut,kleosan_mc.scaleY10.5,  false);

Vielen Dank schon mal im Voraus!

Gruß,
Edith

Geändert von Martin Kraft (03-11-2011 um 09:57 Uhr)
Edith Schmitt ist offline   Mit Zitat antworten
Alt 03-11-2011, 08:24   #2 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.229
Zitat:
scale22 = new Tween(kleosan_mc, "scaleX", Strong.easeInOut,kleosan_mc.scaleX, 1, 0.5, false);
scale22 = new Tween(kleosan_mc, "scaleY", Strong.easeInOut,kleosan_mc.scaleY, 1, 0.5, false
Da hättest Du jetzt aber auch drauf kommen können...
Der Unterschied zwischen den Zeilen springt einem ja quasi ins Auge...
Setzt mal statt false ein true ein - mit false bedeutet die Zeitangabe einen Wert in Frames und nicht in Sekunden - 0.5 Frames geht halt seeehr schnell

Ansonsten verstehe Dein Konstrukt mal so gar nicht - was sollen die if-Bedingungen?
Auch dein setimeOut-Konstrukt bedarf dringend einer (Er-)Klärung - was soll der Parameter in der anononymen funktion?

LG
[EDIT]
Ah.Willkommen im Flashforum!
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.

Geändert von andrelehnert (03-11-2011 um 08:28 Uhr)
andrelehnert ist offline   Mit Zitat antworten
Alt 03-11-2011, 08:39   #3 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.229
Außerdem überschreibst Du die Tweens und und und...
hier mal ein Bsp:
PHP-Code:
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

var 
tweenX:Tween;
var 
tweenY:Tween;

function 
tweenBig():void{
  
tweenX = new Tween (kleosan_mc"scaleX"Strong.easeInOut,kleosan_mc.scaleX1.61.5,true);
  
tweenY = new Tween (kleosan_mc"scaleY"Strong.easeInOut,kleosan_mc.scaleY1.61.5,true);
  
tweenX.addEventListener(TweenEvent.MOTION_FINISH,bigFinishedHandler);
}

function 
bigFinishedHandler(e:TweenEvent):void{
  
setTimeout(tweenSmall,1000);
  
tweenX.removeEventListener(TweenEvent.MOTION_FINISH,bigFinishedHandler);
}

function 
tweenSmall():void
  
tweenX = new Tween(kleosan_mc"scaleX"Strong.easeInOut,kleosan_mc.scaleX11.5true);
  
tweenY = new Tween(kleosan_mc"scaleY"Strong.easeInOut,kleosan_mc.scaleY11.5true);
}
tweenBig(); 
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.

Geändert von andrelehnert (03-11-2011 um 08:40 Uhr)
andrelehnert ist offline   Mit Zitat antworten
Alt 03-11-2011, 08:39   #4 (permalink)
Flasher
 
Registriert seit: Aug 2010
Ort: Stuttgart
Beiträge: 360
Hallo und Herzlich willkommen!
Wenn ich den geposteten Code sehe, kann ich nicht anders, als auf Greensock zu verweisen. Schau dir doch mal TweenMax an, damit sollte dein Problem in deutlich weniger Zeilen lösbar sein

Liebe Grüße!
__________________
Erwähne NIEWIEDER das Wort "Klickdummy"!
Ouroborus23 ist offline   Mit Zitat antworten
Alt 03-11-2011, 08:55   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2011
Beiträge: 4
Sorry, bin Anfängerin.

Danke für die schnelle Hilfe, für den Codevorschlag und die Tipps. Werde mir das heute Abend zu Gemüte führen und mich melden.

Viele Grüße
Edith
Edith Schmitt ist offline   Mit Zitat antworten
Alt 03-11-2011, 23:22   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2011
Beiträge: 4
Hallo,

jetzt funktioniert es.

[script]
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;


var tweenX:Tween;
var tweenY:Tween;

function tweenBig():void{
tweenX = new Tween (kleosan_mc, "scaleX", Strong.easeInOut,kleosan_mc.scaleX, 1.6, 1.4,true);
tweenY = new Tween (kleosan_mc, "scaleY", Strong.easeInOut,kleosan_mc.scaleY, 1.6, 1.4,true);
}
function tweenSmall():void{
tweenX = new Tween(kleosan_mc, "scaleX", Strong.easeInOut,kleosan_mc.scaleX, 1, 1.4, true);
tweenY = new Tween(kleosan_mc, "scaleY", Strong.easeInOut,kleosan_mc.scaleY, 1, 1.4, true);
}

tweenBig();
setTimeout(tweenSmall,1600);

[/script]

Vielen Dank nochmal für Eure Hilfe!

Viele Grüße
Edith
Edith Schmitt ist offline   Mit Zitat antworten
Alt 03-11-2011, 23:59   #7 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.229
a) Ouroborus23 hat natürlich Recht mit den TweenEngines - habe nur Dein
Beispiel as Grundlage genommen
b) ist Dein Code so nicht sauber,
da der TimeOut schon läuft, bevor der erste Tween zu Ende ist und es so zu
unschönen Überschneidungen kommen KÖNNTE. Deshalb höre lieber auf das TweenEvent.MOTION_FINISH.
Mach es so:
PHP-Code:
function tweenBig():void{
  
tweenX = new Tween (kleosan_mc"scaleX"Strong.easeInOut,kleosan_mc.scaleX1.61.5,true);
  
tweenY = new Tween (kleosan_mc"scaleY"Strong.easeInOut,kleosan_mc.scaleY1.61.5,true);
  
tweenX.addEventListener(TweenEvent.MOTION_FINISH,bigFinishedHandler);
}

function 
bigFinishedHandler(e:TweenEvent):void{  tweenX.removeEventListener(TweenEvent.MOTION_FINISH,bigFinishedHandler);
tweenSmall();
}
function 
tweenSmall():void
  
tweenX = new Tween(kleosan_mc"scaleX"Strong.easeInOut,kleosan_mc.scaleX11.5true);
  
tweenY = new Tween(kleosan_mc"scaleY"Strong.easeInOut,kleosan_mc.scaleY11.5true);
}
tweenBig(); 
LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.

Geändert von andrelehnert (04-11-2011 um 00:02 Uhr)
andrelehnert ist offline   Mit Zitat antworten
Alt 04-11-2011, 08:27   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2011
Beiträge: 4
Hallo,

habe den Code so übernommen und es klappt hervorragend!

Vielen Dank für Deine Mühe!

Viele Grüße und einen schönen Tag
Edith
Edith Schmitt ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
skalieren, strong.easeinout

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
frage zu if else ist größer kleiner oder gleich ciberjoerg Flash 8 7 27-01-2008 12:37
Größer und kleiner als Develop ActionScript 1 8 13-05-2006 15:11
größer und kleiner skalieren ab Wert moreloga Flash MX 3 06-01-2005 12:22
funktion zuerst größer dann kleiner deltacon ActionScript 1 3 27-01-2004 09:50
Skalierung von swf's (kleiner ja, größer nein) the_smurf HTML und CSS 2 25-07-2002 16:27


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele