Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-09-2006, 17:45   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 40
Instanz Name --> Number

hallo liebes forum!

folgendes Problem: ich habe ein zeichenboard auf dem auch löschen möglich ist. gezeichnet wird indem ein movieclip immer dupliziert wird.

PHP-Code:
newclip gholder.spray.duplicateMovieClip(_global.counter,_global.counter);
_global.counter++;
newclip.gotoAndStop(randRange(1,3));
newclip._x _xmouse;
newclip._y _ymouse
dabei werden div. daten des movieclips auch in ein array gespeichert
PHP-Code:
dataArray.push(newclip._currentframe+"|"+_global.ccolor+"|"+newclip._x+"|"+newclip._y); 
wenn ich nun einzelne gezeichnete moviclips lösche müssen die daten dementsprechend auch wieder aus dem dataArray entfernt werden. das löschen an sich funktioniert schon einwandfrei, nur weiss ich nicht wie ich die daten aus dem array löschen kann.

code dazu sieht so aus:

PHP-Code:
this.onMouseMove = function(){
    if(
this.hitTest(_root._xmouse_root._ymousefalse)) {
        
removeMovieClip(this);
        
dataArray.splice(???????????)

hier wärs natürlich lässig wenn ich in diese dataArray.splice funktion irgendwie den instanznamen übergeben könnte (die MC´s heissen ja 1 - 999). hat wer einen plan wie das geht?

vielen dank!
mgerhard ist offline   Mit Zitat antworten
Alt 24-09-2006, 18:07   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
dataArray.push(newclip._currentframe+"|"+_global.c color+"|"+newclip._x+"|"+newclip._y);

wozu das in ein eigenes array ???

lass die daten da wo sie hingehören: im objekt! dann gehen sie auch mit dem objekt unter -ganz von alleine.

z.b.:
newclip.currentframe=newclip._currentframe;
newclip.ccolor=_global.ccolor;
newclip.x=newclip._x;
newclip.y=newclip._y;
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 25-09-2006, 11:09   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 40
aber ich brauche das array um das graffiti später nachzeichnen zu können - soll so eine art record funktion sein.
mgerhard ist offline   Mit Zitat antworten
Alt 25-09-2006, 11:10   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 40
ist es nicht möglich den instanznamen irgendwie in einen string zu bekommen um damit dann das array zu splicen?
mgerhard ist offline   Mit Zitat antworten
Alt 25-09-2006, 11:25   #5 (permalink)
Flashbitch
 
Benutzerbild von X-Tender
 
Registriert seit: Oct 2003
Ort: Hannover
Beiträge: 279
mach doch ein mehrdimensionales array.

ActionScript:
  1. _root.painting = new Array();
  2.  
  3.  
  4. //wenn du dann was mallst:
  5.  
  6. var itemPos = _root.painting.length;
  7. _root.painting[itemPos] = new Array();
  8. _root.painting[itemPos]["currentframe"] = newclip._currentframe;
  9. _root.painting[itemPos]["ccolor"] = _global.ccolor;
  10. _root.painting[itemPos]["x"] = newclip._x;
  11. _root.painting[itemPos]["y"] = newclip._y;

so kanst du es später dann alles nacheinadner auslesen wieder und malen. Mit einer for schleife z.b.
__________________
Fuchtelworld
X-Tender ist offline   Mit Zitat antworten
Alt 25-09-2006, 13:38   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 40
also das auslesen funktioniert aus dem eindimensionalen array auch schon wunderbar. ich hab jetzt mal das .fla file angehängt - vielleicht findet ja wer die zeit kurz drüberzuschauen und mir einen tipp zu geben wie ich das dataArray splicen kann wenn MC´s gelöscht werden.

danke!
Angehängte Dateien
Dateityp: zip test.zip (8,9 KB, 2x aufgerufen)

Geändert von mgerhard (25-09-2006 um 13:40 Uhr)
mgerhard ist offline   Mit Zitat antworten
Alt 25-09-2006, 14:06   #7 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
Zitat:
Zitat von mgerhard Beitrag anzeigen
aber ich brauche das array um das graffiti später nachzeichnen zu können - soll so eine art record funktion sein.
sowas macht man erst, wenn es zeit ist ;-)
also zeichnen,
dann irgendwann klickst du auf sichern oder so? jetzt die daten aus den mc's in ein array oder sonstwohin sichern/bearbeiten.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (25-09-2006 um 14:08 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 25-09-2006, 14:35   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 40
das problem ist dass ich später auch das löschen wiedergeben will - d.h. im array speichern will. any ideas?
mgerhard ist offline   Mit Zitat antworten
Alt 25-09-2006, 14:49   #9 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
????? und warum 'nervst' du dann damit rum, du willst sachen aus deinem array löschen ;-)
jedes gelöschte mc ergibt einen zusätzliche eintrag in den record.

ein mehrdimensionales array, so wie auch von X-Tender vorgeschlagen.
jeder eintrag ist ein befehl wie erzeugen oder warten oder delete oder pinselwechsel usw.

// nur beispielhaft
record=[];
record.push({befehl:'paint', time:112, color:x, sonswas:y});
record.push({befehl:'delete', time:120, mc:4712});
...
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (25-09-2006 um 14:56 Uhr)
hgseib 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 16:37 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele