Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-01-2007, 14:10   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 56
AS vereinfachen bzw. zusammenfassen (inkl. fla)

Hallo Leute,

ich sitze momentan an einer as animation, indem 2 buttons die ani steuern. das ganze funktioniert auch wunderbar nur denke ich das es auch einen kürzeren und effizienteren weg geben müsste um das selbe zu erreichen.
anbei die .fla datei und hier nochmal das script welches sich im ersten frame befindet(für diejenigen die keine fla benötigen).
optimal wäre es, wenn man anstatt 1000 zeilen nur noch 2-3 für jeden button hätte.

achso, ich benutze die tween prototypes von http://laco.wz.cz



PHP-Code:
#include "lmc_tween_as1.as"
$tweenManager.broadcastEvents true;

btn1.onRollOver = function(){
mc1.mc21.mc3.tween("_Y"150,0.6,"easeoutcirc")
mc1.mc22.mc3.tween("_Y"150,0.6,"easeoutcirc",0.05)
mc1.mc23.mc3.tween("_Y"150,0.6,"easeoutcirc",0.1)
mc1.mc24.mc3.tween("_Y"150,0.6,"easeoutcirc",0.15)
mc1.mc25.mc3.tween("_Y"150,0.6,"easeoutcirc",0.2)
mc1.mc26.mc3.tween("_Y"150,0.6,"easeoutcirc",0.25)
mc1.mc27.mc3.tween("_Y"150,0.6,"easeoutcirc",0.3)
mc1.mc28.mc3.tween("_Y"150,0.6,"easeoutcirc",0.35)
mc1.mc29.mc3.tween("_Y"150,0.6,"easeoutcirc",0.4)
mc1.mc210.mc3.tween("_Y"150,0.6,"easeoutcirc",0.45)
mc1.mc211.mc3.tween("_Y"150,0.6,"easeoutcirc",0.5)
mc1.mc212.mc3.tween("_Y"150,0.6,"easeoutcirc",0.55)
mc1.mc213.mc3.tween("_Y"150,0.6,"easeoutcirc",0.6)
mc1.mc214.mc3.tween("_Y"150,0.6,"easeoutcirc",0.65)
mc1.mc215.mc3.tween("_Y"150,0.6,"easeoutcirc",0.7)
mc1.mc216.mc3.tween("_Y"150,0.6,"easeoutcirc",0.75)
mc1.mc217.mc3.tween("_Y"150,0.6,"easeoutcirc",0.8)
mc1.mc218.mc3.tween("_Y"150,0.6,"easeoutcirc",0.85)
mc1.mc219.mc3.tween("_Y"150,0.6,"easeoutcirc",0.9)
mc1.mc220.mc3.tween("_Y"150,0.6,"easeoutcirc",0.95)
mc1.mc221.mc3.tween("_Y"150,0.6,"easeoutcirc",1)
mc1.mc222.mc3.tween("_Y"150,0.6,"easeoutcirc",1.05)
mc1.mc223.mc3.tween("_Y"150,0.6,"easeoutcirc",1.1)
mc1.mc224.mc3.tween("_Y"150,0.6,"easeoutcirc",1.15)
mc1.mc225.mc3.tween("_Y"150,0.6,"easeoutcirc",1.2)
}

btn2.onRollOver = function(){

mc1.mc21.mc3.tween("_Y"0,0.6,"easeoutcirc")
mc1.mc22.mc3.tween("_Y"0,0.6,"easeoutcirc",0.05)
mc1.mc23.mc3.tween("_Y"0,0.6,"easeoutcirc",0.1)
mc1.mc24.mc3.tween("_Y"0,0.6,"easeoutcirc",0.15)
mc1.mc25.mc3.tween("_Y"0,0.6,"easeoutcirc",0.2)
mc1.mc26.mc3.tween("_Y"0,0.6,"easeoutcirc",0.25)
mc1.mc27.mc3.tween("_Y"0,0.6,"easeoutcirc",0.3)
mc1.mc28.mc3.tween("_Y"0,0.6,"easeoutcirc",0.35)
mc1.mc29.mc3.tween("_Y"0,0.6,"easeoutcirc",0.4)
mc1.mc210.mc3.tween("_Y"0,0.6,"easeoutcirc",0.45)
mc1.mc211.mc3.tween("_Y"0,0.6,"easeoutcirc",0.5)
mc1.mc212.mc3.tween("_Y"0,0.6,"easeoutcirc",0.55)
mc1.mc213.mc3.tween("_Y"0,0.6,"easeoutcirc",0.6)
mc1.mc214.mc3.tween("_Y"0,0.6,"easeoutcirc",0.65)
mc1.mc215.mc3.tween("_Y"0,0.6,"easeoutcirc",0.7)
mc1.mc216.mc3.tween("_Y"0,0.6,"easeoutcirc",0.75)
mc1.mc217.mc3.tween("_Y"0,0.6,"easeoutcirc",0.8)
mc1.mc218.mc3.tween("_Y"0,0.6,"easeoutcirc",0.85)
mc1.mc219.mc3.tween("_Y"0,0.6,"easeoutcirc",0.9)
mc1.mc220.mc3.tween("_Y"0,0.6,"easeoutcirc",0.95)
mc1.mc221.mc3.tween("_Y"0,0.6,"easeoutcirc",1)
mc1.mc222.mc3.tween("_Y"0,0.6,"easeoutcirc",1.05)
mc1.mc223.mc3.tween("_Y"0,0.6,"easeoutcirc",1.1)
mc1.mc224.mc3.tween("_Y"0,0.6,"easeoutcirc",1.15)
mc1.mc225.mc3.tween("_Y"0,0.6,"easeoutcirc",1.2)

thx schon mal
Angehängte Dateien
Dateityp: rar test.rar (43,2 KB, 7x aufgerufen)

Geändert von tr!be (02-01-2007 um 14:12 Uhr)
tr!be ist offline   Mit Zitat antworten
Alt 02-01-2007, 15:03   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Wenn ich keinen Fehler gemacht habe,
hier mal eine Version für den ersten Button:
PHP-Code:
btn1.onRollOver = function(){
  var 
delayIs 0;
  var 
delayAdd 0.5;
  for (
i=1i<=25i++) {
    
mc1["mc2"+i].mc3.tween("_Y"1500.6"easeoutcirc"delayIs);
    
delayIs += delayAdd;
  }

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 02-01-2007, 15:05   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 162
ActionScript:
  1. function ani (s, z, a)
  2. {
  3.     var startWert = s;
  4.     var abstand = a;
  5.    
  6.     for (var vars in mc1)
  7.     {
  8.         mc1[vars].mc3.tween("_Y", z,0.6,"easeoutcirc", startWert);
  9.         startWert += abstand;
  10.     }   
  11. }   
  12.  
  13. btn1.onRollOver = function()
  14. {
  15.  
  16.     ani (0, 150, 0.05)
  17.  
  18. }
  19.  
  20. btn2.onRollOver = function()
  21. {
  22.     ani (0, 0, 0.05)
  23. }
MaticPel ist offline   Mit Zitat antworten
Alt 02-01-2007, 15:16   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 56
wow, jungs ihr seid spitze.

@gaspode
hab deine version leider noch nicht zum laufen bekommen. er mag die drei sternchen nicht.

@MaticPel
läuft super, nur raff ich dein script noch nicht. ihr habts echt drauf *neid*
tr!be ist offline   Mit Zitat antworten
Alt 02-01-2007, 15:29   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 56
ich habe die instanznamen bei mc2 also die durchnummerierung nur aus verzweiflung gemacht, weil ich nicht wusste wie ich sie sonst einzeln ansteuern konnte.

wie würde das script ausschauen müssen, wenn wir folgende struktur hätten?:

mc1.mc2.mc3

d.h. mc2 ist der instanzname für alle instanznamen.
tr!be ist offline   Mit Zitat antworten
Alt 02-01-2007, 15:45   #6 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Sternchen sollten raus sein. (Btw.: Jedes Sternchen wäre ein Freizeichen)

Meinst Du das so?
PHP-Code:
btn1.onRollOver = function(){
  var 
delayIs 0;
  var 
delayAdd 0.5;
  for (
i=1i<=25i++) {
    
mc1.mc2.mc3.tween("_Y"1500.6"easeoutcirc"delayIs);
    
delayIs += delayAdd;
  }

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 02-01-2007, 15:56   #7 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 56
@gaspode

hab ich auch schon probiert. einmal ist flash abgestürzt und das zweite mal sagte er was das die animation zu viel performance frisst und es besser ist das script zu stoppen.
tr!be ist offline   Mit Zitat antworten
Alt 02-01-2007, 17:08   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 56
so hab die probleme gelöst. stehe jetzt aber vor einem neuen prob.

PHP-Code:
   1.
      
function ani (sza)
   
2.
      
{
   
3.
          
var startWert s;
   
4.
          
var abstand a;
   
5.
         
   6.
          
for (var vars in mc1)
   
7.
          
{
   
8.
              mc1
[vars].mc3.tween("_Y"z,0.6,"easeoutcirc"startWert);
   
9.
              startWert 
+= abstand;
  
10.
          
}   
  
11.
      
}   
  
12.
       
  13.
      btn1
.onRollOver = function()
  
14.
      
{
  
15.
       
  16.
          ani 
(01500.05)
  
17.
       
  18.
      
}
  
19.
       
  20.
      btn2
.onRollOver = function()
  
21.
      
{
  
22.
          ani 
(000.05)
  
23.
      

wo kann ich in das script den callback reinhauen?

Geändert von tr!be (02-01-2007 um 17:36 Uhr)
tr!be ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele