Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-04-2006, 07:48   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 100
attachMovie(); nicht mehr verfügbar?

Hallo an alle,

ich schildere am besten zuerst einmal kurz, was ich vorhabe:

Im Hintergrund meines Movies liegt ein großes JPG, das aus vielen einzelnen Fotos zusammengesetzt ist.

Ich habe einen MC "dot" erstellt, der aus einer weißen Fläche besteht, die innerhalb von 10 Frames durchsichtig wird.

Diese Fläche will ich nun per AS so oft duplizieren und platzieren, dass alle Einzelbilder (Mosaiksteine) verdeckt sind und langsam eingeblendet werden. Sie sollen später zeitversetzt erscheinen.

In der Breite sind es 54 Fotos, in der Höhe 35.

Den MC "dot" exportiere ich für AS und dann, dachte ich, sollte es folgende Schleife eigentlich tun:

Code:
gx = 0;
items = 54;

for (i=0; i<items; i++) {
	this.attachMovie("dot", "dot"+i, i+1);
	var me = this["dot"+i];
	gx = gx + 19;
	me.x = gx
	}
	
gotoAndPlay(2);

Aber es passiert gar nix!! Wieso denn?

Danke für Tips!
Seraphim ist offline   Mit Zitat antworten
Alt 18-04-2006, 08:04   #2 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.054
Hi,
eigentlich sollte es gehen.
Allerdings fehlt bei der x-Position der Unterstrich.
PHP-Code:
...
me._x gx;
... 
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 18-04-2006, 08:13   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 100
Jetzt gehts auch, war ziemlich doof, einfach das ";" vergessen... dämlich.

Eine Zeile kann ich jetzt duplizieren. Wie kann ich jetzt aber in der nächsten Zeile weitermachen, wenn die erste voll ist???

Die Bilder sind immer 19 x 19 px groß. Geht das, oder muss ich für jede Zeile eine neue Schleife nutzen?
Seraphim ist offline   Mit Zitat antworten
Alt 18-04-2006, 08:37   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 100
Wenn ich die Schleife so erweitere, dass, je nachdem, wie groß i ist, der y-wert verändert wird, sollte ich doch auch alle Zeilen befüllen können.

Leider tut sich, wenn ich das so mache, wieder rein gar nichts, auch das was vorher funktionert hat, geht jetzt nicht mehr:

Code:
gx = 0;
items = 120;

for (i=0; i<items; i++) {
	this.attachMovie("dot", "dot"+i, i+1);
	var me = this["dot"+i];
	gx = gx + 19;
	me._x = gx;
	
	
	 if (i>53 && i<107) {
     me._y = 19;
    } else if (i>107 && i < 161) {
      me._y = 38;
    }
	
	
	
	}
Seraphim ist offline   Mit Zitat antworten
Alt 18-04-2006, 08:52   #5 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.054
Hi,

so könntest du es machen

PHP-Code:
xmax 5;
items 54;
gx 0;
gy 0;
0;
for (
0itemsi++)
{
    var 
me this.attachMovie("dot""dot" i1);
    
me._x gx;
    
me._y gy;
    
gx gx 19;
    
b++;
    if (
== xmax)
    {
        
0;
        
gy gy 19;
        
gx 0;
    }

__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 18-04-2006, 09:44   #6 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 100
Super, vielen Dank.

Wenn ich jetzt noch dieses letzte Problem löse, bin ich soweit fertig bzw. kriege den Rest selbst hin:

Ich will jetzt per Zufall jeweils 3 der Instanzen von "dot" auswählen und bei diesen ausgewähltten MCs die Aktion play(); ausführen, damit sie langsam durchsichtig werden. Dann die nächsten drei usw...., sodass über den ganzen Bildschirm vertielt die darunter liegenden Fotos erscheinen.

Muss ich dafür jeden MC in ein Array schreiben und wie sieht dann die Zufallsfunktion aus????

Vielen vielen Dank!
Seraphim ist offline   Mit Zitat antworten
Alt 18-04-2006, 10:22   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 100
Ich hatte mir das so vorgestellt, habe aber keine ahnung, ob das geht:

Code:
storage = new Array();

xmax = 54; 
items = 1890; 
gx = 0; 
gy = 0; 
b = 0; 
for (i = 0; i < items; i++) 
{ 
    var me = this.attachMovie("dot", "dot" + i, i + 1); 
    me._x = gx; 
    me._y = gy; 
    gx = gx + 19; 
    b++; 
	
	storage[i] = ""dot"+i";
	
    if (b == xmax) 
    { 
        b = 0; 
        gy = gy + 19; 
        gx = 0; 
    } 
}
Würde das gehen? Und wie könnte ich dann meine MCs dynamisch ansprechen??
Seraphim ist offline   Mit Zitat antworten
Alt 18-04-2006, 10:47   #8 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.054
...so würde es gehen
PHP-Code:
storage = new Array();
xmax 5;
items 54;
gx 0;
gy 0;
0;
for (
0itemsi++)
{
    var 
me this.attachMovie("dot""dot" i1);
    
me._x gx;
    
me._y gy;
    
gx gx 19;
    
b++;
    
storage[i] = me;
    if (
== xmax)
    {
        
0;
        
gy gy 19;
        
gx 0;
    }
}
//
var inter setInterval(startAni100);
0;
function 
startAni()
{
    if (
storage.length)
    {
        
storage[m].gotoAndPlay(2);
        
m++;
    }
    else
    {
        
clearInterval(inter);
    }

jetzt solltest du nur noch vorher das Array mischen, wegen dem Zufall.
Dazu könntest du hier was finden.
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 18-04-2006, 14:21   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 100
Hat sofort geklappt,

vielen, vielen Dank für die Spitzen-Hilfe!!
Seraphim ist offline   Mit Zitat antworten
Alt 18-04-2006, 14:50   #10 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.054
schön, dass ich helfen konnte
__________________

Gruß kakktus
kakktus 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 14:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele