Bilder in MC per klick einfügen

Uther

Mitglied
Hallo,
ich versuche folgendes zu realisieren. Ich nutze Flash 8 Prof...

Bild

Das funktioniert soweit super. Allerdings sind manche Bilder 2x1 oder 2x2 so groß als mein MC im erstellten Grid, das soll auch so sein. Daher will ich 2 oder 4 Bilder gleichzeitig einfügen.
Ich möchte nun, dass wenn ich auf eine Zelle klicke dieses Bild (welches in einem MC liegt) in die geklickte Zelle eingefügt wird....naja, wird es ja bereits aber..... gleichzeitig soll aber ein weiteres in die nächste Zelle eingefügt werden.
In meinem Script werden die Zellen mit this.attachMovie(übergabe + "_mc", "pic_mc", 1); befüllt. This ist der Pfad _level0.grid_container.zelle43, sofern ich auf die Zelle 43 geklickt habe.
Mir ist es mit meinem derzeitigen Wissen unmöglich von der der geklicken Stelle aus im Script die nächste Zelle(MC) oder einer andere zu adressieren. Ich meine ich kann nicht ...grid_container.zelle43 + x oder gar this + x adressieren.

Kennt jemand einen Weg um das zu realisieren?

Uhm, ich hoffe mein Problem ist genau genug beschrieben. Wenn nicht, einfach nochmal nachfragen.

Vielen Dank für Hilfe falls welche kommt. :)

nachfolgend der Code in welchem ich die MCs einfügen lassen muss. Die fla hängt aber auch noch bei....
Code:
//Startpunkt der ersten Zelle, abhängig von der Platzierung des MCs
initX = 0;
initY = 0;

//Tabellengröße
zeilen = 10
spalten = 10

//Zellen aufzählen
zähler = 0;

//Tabelle erstellen
for (var i = 1; i<=zeilen; i++) {
	for (var j = 1; j<=spalten; j++) {
		zähler++;
		grid_container.attachMovie("zell_MC","zelle"+zähler,zähler);
		grid_container["zelle"+zähler]._x = initX;
		grid_container["zelle"+zähler]._y = initY;
		
		//für jede Zelle ein Klickrelease-Ereignis
		grid_container["zelle"+zähler].onRelease = function(){
			
			//löschen und setzten des frucht_MCs
			if (übergabe == "löschen"){
				this.createEmptyMovieClip("pic_mc", 1);
				} else {
					if (größe == 2){
						//hier würde ich gerne den MC um 11 Zellen verschieben oder
						//vier Teile des Bildes in die umliegenden Zellen einfügen
						this.attachMovie(übergabe + "_mc", "pic_mc", 1);
						} else {
				this.attachMovie(übergabe + "_mc", "pic_mc", 1);
						}
				}
			};
		
		//zähler für die Aneinanderreihung der Zellen, passend zur größe des zell_MCs
		initX += 30;
	}
	initY += 30;
	initX = 0;
}
 

Anhänge

  • obst.fla
    44 KB · Aufrufe: 38
  • flash-bsp.png
    flash-bsp.png
    43,4 KB · Aufrufe: 55
Zuletzt bearbeitet:
Hallo
Wenn ich das richtig verstanden habe ist dein Problem, dass du von 'this' nicht auf den rechts daneben zugreifen kannst. Dabei hast du doch die Vorraussetzungen schon geschaffen udn alle Felder nett nummeriert. Ich hoffe mal dass die 4 für die 4. Zeile und die 3 für die 3te Spalte steht, dann könntest du mit this._name und mit einigen String-Funktionen die Zahl auslesen, diese dann um 1 oder 10 erhöhen und dann per _root.bla.bla.zelle[meineNummer] das Feld rechts ansprechen.

Die genaue Berechnung der Zielfeldnummer hängt natürlich stark von der von dir gewählten Nummerierung ab. Pass auch auf den rechten und unteren Rand mit entsprechenden if-Abfragen auf.

Zu den String-Funktionen findest du viel in der Flash Hilfe. Probier's mal aus, wir helfen dir gern wenn du nicht weiterkommst :)

Gruß
.
 
Vielen Dank für die Hilfe. :)

Ich habe folgendes eingefügt.

Code:
	var my_str:String = new String(this);
	var mySubstring:String = new String();
	mySubstring = my_str.substr(28);
	nummer = parseInt(mySubstring)
	nummer = nummer + 1;
	this.attachMovie(übergabe + 1 + "_mc", "pic_mc", 1);
	_root.grid_container["zelle" +nummer].attachMovie(übergabe + 2 + "_mc", "pic_mc", 1);

so funktioniert es, wie ich will :) danke nochmal.

Aber warum kann ich alle neu eingefügten MCs mit "pic_mc" benennen, also gleich, ohne dass es Probleme gibt?

Vielen Dank für Hilfe.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück