Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-08-2004, 14:08   #1 (permalink)
Halbwissender
 
Benutzerbild von r2-d2
 
Registriert seit: Jul 2002
Ort: Leipzig
Beiträge: 184
mit einem setInterval mehrere MCs verändern?

Hallo Gemeinde,

ich habe mal wieder eine Frage:
Ich habe 25 MCs in meinem Film namens
item00,item01,item02,item03,item04,item10,item11,. ...(ist ein 5x5 Quadrat)
Jetzt möchte ich aber alle nacheinander, am collsten wäre noch mit Überschneidung ausblenden.
Also etwa so.
function doFertig()//alles gelöst
{
ausblenden = setInterval(fading,20);
}
function fading()
{
_root["item"+x+y]._alpha--;
if (_root["item"+x+y]._alpha<1) clearInterval(ausblenden);
}
Das klappt bei einem vorgegebenen x und y prima. Ich würde nur gern eine Schleife haben, welche alle MC nacheinander ausblendet
Also etwa so
for (x=0;x<5;x++){
for (y=0;y<5;y++){
ausblenden = setInterval(fading,20);
}
}
Und der Hammer wäre es, würde z.B. item01 bei item00._alpha=75 anfangen und item 02 bei item01._alpha=75 usw.
Geht das?

Wenn ja, wie?
__________________
:) Möge die Macht mit Dir sein.

XING/openBC
r2-d2 ist offline   Mit Zitat antworten
Alt 15-08-2004, 14:37   #2 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
hast du mal ein fla da
Bugfixer ist offline   Mit Zitat antworten
Alt 15-08-2004, 14:52   #3 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
HI

ActionScript:
  1. anzahl = 25;
  2. i=0;
  3. MovieClip.prototype.fade_out = function(speed){
  4.     this.onEnterFrame = function(){
  5.         this._alpha -= speed;
  6.         if (this._alpha <= 0){
  7.             delete this.onEnterFrame;
  8.         }
  9.     }
  10. };
  11. function zuweisen(alpha_speed){
  12.         if (i == anzahl){
  13.         clearInterval(ausblenden);
  14.     }else{
  15.         _root["item_"+i].fade_out(alpha_speed);
  16.         i++;
  17.     }
  18. }
  19. //ausblenden = setInterval(zuweisen, milisekunden, alpha_speed);
  20. ausblenden = setInterval(zuweisen, 200, 10);

ich würde aus item01, item_0 machen, ansonsten musste es halt umändern!

bye
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................

Geändert von Decrone (15-08-2004 um 17:41 Uhr)
Decrone ist offline   Mit Zitat antworten
Alt 15-08-2004, 18:17   #4 (permalink)
Halbwissender
 
Benutzerbild von r2-d2
 
Registriert seit: Jul 2002
Ort: Leipzig
Beiträge: 184
Schon einmal vielen Dank vorweg.

Hier ist meine fla-Datei

Aber nicht lachen...
__________________
:) Möge die Macht mit Dir sein.

XING/openBC
r2-d2 ist offline   Mit Zitat antworten
Alt 15-08-2004, 18:24   #5 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
ne kenne Angst, warum sollte ich lachen. Es gibt ja viele Wege wie man es in Flash realisieren kann!

Aber trotzdem bekomme ich beim öffnen der fla eine Fehlermeldung! Speicher mal in MX ab!

bye
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................
Decrone ist offline   Mit Zitat antworten
Alt 15-08-2004, 18:32   #6 (permalink)
Halbwissender
 
Benutzerbild von r2-d2
 
Registriert seit: Jul 2002
Ort: Leipzig
Beiträge: 184
so, habe es hochgeladen an gleicher Stelle.
__________________
:) Möge die Macht mit Dir sein.

XING/openBC
r2-d2 ist offline   Mit Zitat antworten
Alt 15-08-2004, 18:50   #7 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
tut mir leider aber geht immer noch net
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................
Decrone ist offline   Mit Zitat antworten
Alt 15-08-2004, 18:52   #8 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
also ich kann die datei runter laden aber es kommt halt "unerwartetes Dateiformat".. wahrscheibnlich nutzt du mx 2004 oder?
speicher es mal als mx ab und lad es neu hoch...

Zitat:
Aber trotzdem bekomme ich beim öffnen der fla eine Fehlermeldung! Speicher mal in MX ab!
ups.. nicht gesehen.. sry

Geändert von pape (15-08-2004 um 18:53 Uhr)
pape ist offline   Mit Zitat antworten
Alt 15-08-2004, 19:10   #9 (permalink)
Halbwissender
 
Benutzerbild von r2-d2
 
Registriert seit: Jul 2002
Ort: Leipzig
Beiträge: 184
Ja, war mit MX2004 erstellt. Aber jetzt ist die MX Version online. Aber hier ist mein Script (ist ja nur eine Seite):
ActionScript:
  1. puzzles = new Array();
  2. puzzles[1] = "1,1,-1,1,1|1,-1,1,-1,1|1,1,1,1,-1|1,-1,1,-1,1|1,1,-1,1,1";
  3. //hier sind noch weitere Möglichkeiten........
  4. puzzles[53] = "-1,1,-1,-1,-1|1,-1,-1,-1,-1|-1,-1,-1,-1,-1|-1,-1,-1,-1,-1|-1,-1,-1,-1,-1";
  5. var puzzarray = new Array();
  6. function ReadPuzzle(x) {
  7.     var puzzlines = new Array();
  8.     puzzlines = puzzles[x].split("|");
  9.     for (j=0; j<5; j++) {
  10.         puzzarray[j] = new Array();
  11.         puzzarray[j] = puzzlines[j].split(",");
  12.     }
  13. }
  14. function swapItems() {
  15.     fertig = true;
  16.     trace("swapItems");
  17.     for (y=0; y<5; y++) {
  18.         for (x=0; x<5; x++) {
  19.             if (puzzarray[x][y] == 1) {
  20.                 fertig = false;
  21.                 _root["item"+x+y].gotoAndStop(2);
  22.             } else {
  23.                 _root["item"+x+y].gotoAndStop(1);
  24.             }
  25.             trace(puzzarray[x]);
  26.         }
  27.     }
  28.     trace(fertig);
  29.     if (fertig == true) {
  30.         doFertig();
  31.     }
  32. }
  33. function doChange(x, y) {
  34.     trace("doChange");
  35.     puzzarray[x][y] = puzzarray[x][y]*(-1);
  36.     if (x>0) {puzzarray[x-1][y] = puzzarray[x-1][y]*(-1);}
  37.     if (x<4) {puzzarray[x+1][y] = puzzarray[x+1][y]*(-1);}
  38.     if (y>0) {puzzarray[x][y-1] = puzzarray[x][y-1]*(-1);}
  39.     if (y<4) {puzzarray[x][y+1] = puzzarray[x][y+1]*(-1);}
  40.     swapItems();
  41. }
  42. function fading() {
  43.     x = 1;//sollte dann dynamisch sein
  44.     y = 1;//sollte dann dynamisch sein
  45.     _root["item"+x+y]._alpha--;
  46.     if (_root["item"+x+y]._alpha<1) {
  47.         clearInterval(sieg);
  48.     }
  49. }
  50. function doFertig() {
  51.     trace("doFertig");
  52.     sieg = setInterval(fading, 20);
  53. }
  54. currentLevel = 52;
  55. ReadPuzzle(currentLevel);
  56. swapItems();
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++
Ein Klick auf einen Button ruft doChange(x, y) auf.
Wenn alles richtig ist startet doFertig()
Das mit dem as wusste ich gar nicht.
So, bin mal kurz weg, komme aber bald wieder.
__________________
:) Möge die Macht mit Dir sein.

XING/openBC

Geändert von r2-d2 (15-08-2004 um 19:30 Uhr)
r2-d2 ist offline   Mit Zitat antworten
Alt 15-08-2004, 19:22   #10 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
setz mal bitte [ as] tags ums script.. ist sonst so unleserlich
pape ist offline   Mit Zitat antworten
Alt 15-08-2004, 19:31   #11 (permalink)
Halbwissender
 
Benutzerbild von r2-d2
 
Registriert seit: Jul 2002
Ort: Leipzig
Beiträge: 184
hab's geändert.
__________________
:) Möge die Macht mit Dir sein.

XING/openBC
r2-d2 ist offline   Mit Zitat antworten
Alt 15-08-2004, 20:31   #12 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
hi!

ich habe es nicht getested, aber versuch mal so:
ActionScript:
  1. function doFertig() {
  2.     trace("doFertig");
  3.     anzy=5 //<--anpassen (wieviele obj. in einer spalte liegen
  4.     nextx = 1;
  5.     nexty = 1;
  6.     last = _root.item55; //<--anpassen
  7.     sieg = setInterval(fading, 20);
  8. }
  9.  
  10. function fading() {
  11.     for (var i = 1; i<=nextx; i++) {
  12.         for (var j = 1; j<=nexty; j++) {
  13.             _root["item"+i+j]._alpha--;
  14.         }
  15.     }
  16.     if (_root["item"+i+j]._alpha < 75 && _root["item"+i+j] != last) {
  17.         if (nexty>=anzy) {
  18.             nexty=1;
  19.             nextx++;
  20.         } else {
  21.             nexty++;
  22.         }
  23.     }
  24.     if (last._alpha<1) {
  25.         clearInterval(sieg);
  26.     }
  27. }

grz
Robert

Geändert von pape (15-08-2004 um 20:36 Uhr)
pape ist offline   Mit Zitat antworten
Alt 16-08-2004, 22:10   #13 (permalink)
Halbwissender
 
Benutzerbild von r2-d2
 
Registriert seit: Jul 2002
Ort: Leipzig
Beiträge: 184
Irgendwie endet das in einer Endlosschleife bei mir.
__________________
:) Möge die Macht mit Dir sein.

XING/openBC
r2-d2 ist offline   Mit Zitat antworten
Alt 17-08-2004, 08:09   #14 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
dann lad mal die fla hoch oder aber (wäre auch besser) trace dir selber erst mal nen paar sachen und guck welche werte z.b. i und j usw haben... kann ja sein dass da irgendwo was nicht stimmt.. ist wie gesagt nicht getestet!

grz

robert
pape ist offline   Mit Zitat antworten
Alt 17-08-2004, 09:06   #15 (permalink)
Halbwissender
 
Benutzerbild von r2-d2
 
Registriert seit: Jul 2002
Ort: Leipzig
Beiträge: 184
Hier liegt meine fla

Er verlässt die obere Schleife nicht.
__________________
:) Möge die Macht mit Dir sein.

XING/openBC
r2-d2 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 22:04 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele