Kann mc nicht ansprechen. ka warum !

NetPerformance

Erfahrenes Mitglied
Hallo,

ganz unten " trace(_root.kugelName._y);" gibt undefined aus .. why ?!

das duplizieren der movies funktioniert ohne probleme.. ich kann aber die movies nicht ansprechen.

Gruß und Dank
Aaron


Code:
onClipEvent (load) 
{
	_root.kugel._visible = false;
	counter = 1;
}
onClipEvent (enterFrame) {
	if (this._x>=504) {
		this._x = 504;
	}
	if (this._x<=18) {
		this._x = 18;
	}
	if (Key.isDown(Key.RIGHT)) {
		this._x += 5;
	}
	if (Key.isDown(Key.LEFT)) {
		this._x += -5;
	}
	if (Key.isDown(Key.SPACE)) 
	{
		_root.kugelName = "kugel"+counter;
		// trace(_root.kugelName);
		kugelNameX = _root.kanone._x+15;
		kugelNameY = _root.kanone._y-10;

		_root.kugel.duplicateMovieClip(_root.kugelName, counter, {_y:kugelNameY, _x:kugelNameX});
		counter++;
		/*
		function moveKugel() 
		{
			_root.kugelName._y += 10;
			trace(_root.kugelName);
		}
		setInterval(moveKugel, 50);
		*/
		
	}
	_root.kugelName._y += 50;
	trace(_root.kugelName._y);
}
 
Soweit ich das sehe, versuchst du die Y-Position eines Strings (String und Variablenwert zusammengesetzt) rauszufinden. Der hat keine. ;)

Weiß jetzt nicht genau, was du mit dem Script bezweckst aber hier ein Vergleich bzw. Allgemeines zu Pfadreferenzen
PHP:
counter=1 //nur zum Test, Instanz namens "kugel1" ist vorhanden

_root.kugelName = "kugel"+counter;
trace(_root.kugelName) // gibt einen String aus
trace(_root.kugelName._y) // ein String hat keine X-Position

_root.kugelName = this["kugel"+counter]; // oder ein Pfad statt this
trace(_root.kugelName) // gibt eine Instanz plus deren Pfad aus
trace(_root.kugelName._y) // da ist die X-Position

// -------------------
// Ausgabe:

// kugel1
// undefined

// _level0.kugel1
// 70
// -------------------
Gruß
Rena
 
Zuletzt bearbeitet:
Das ist schön, dass du das möchtest ...
Was ist mit dem genannten Unterschied? Schon versucht es zu verstehen? Ausprobiert? Ist das jetzt schon in dein "Werk" eingearbeitet? Dann wärst aber schnell ... :confused:

Ohne Versionsnennung lad ich eh nix runter. Ist zu 90% vergebens da ich nur MX hab und 2004er-Flas eh nicht öffnen kann.
Und gib an, was du nach dem ersten Hilfeversuch schon diesbezüglich verändert/getestet hast und was passiert ist.

Gruß
Rena
 
Zuletzt bearbeitet:
Hi Rena..

den Unterschied habe ich verstanden. Du hast das Ganze ja wunderbar kommentiert.
Ich habe ein String erzeugt und da ein String keine _x oder _y Attribute besitzt. Kann ich auch nicht darauf zugreifen.
Durch die 2te Variante wird eine Instanz erzeut. Ich musste nur eine Zeile umändern.

Die Datei habe ich als Flash MX Datei exportiert und hochgeladen.

Habe ich dich richtig verstanden ?!

Gruß
Aaron
 

Anhänge

Es geht also um das duplizieren und positionieren?
Wenn ja ... im Script auf der Kanone
PHP:
...
	if (Key.isDown(Key.SPACE)) {
		duplicateMovieClip(_root.kugel, "kugel"+counter, counter);
		_root["kugel"+counter]._x = this._x+15;
		_root["kugel"+counter]._y = this._y-10;
		counter++;
		// was sonst noch kommt, dein Bewegungsaufruf und so
	}
...
Gruß
Rena
 
Hi,

nein .... es ging nicht um das Duplizieren.
Das Duplizieren hat ohne Probleme funktioniert. Hatte fast das gleiche auf meine Kanone stehen.
Es geht darum, dass ich die Schüsse nach dem Duplizieren nicht mehr steuern kann.
Nachdem die Kanone ein Schuss abgefeuert hat, muss ich die y-Position der Kugel ansprechen, damit die Kugel nach oben fliegt.

Gruß
Aaron

Code:
onClipEvent (load) 
{
	_root.kugel._visible = false;
	counter = 1;
	
	function moveKugel() 
	{
		trace(_root["kugel"+counter]._y);
		 _root["kugel"+counter]._y -= 100; 
	}
}
onClipEvent (enterFrame) {
	if (this._x>=504) {
		this._x = 504;
	}
	if (this._x<=18) {
		this._x = 18;
	}
	if (Key.isDown(Key.RIGHT)) {
		this._x += 5;
	}
	if (Key.isDown(Key.LEFT)) {
		this._x += -5;
	}
	
	if (Key.isDown(Key.SPACE)) 
	{		
        duplicateMovieClip(_root.kugel, "kugel"+counter, counter); 
		
        _root["kugel"+counter]._x = this._x+15; 
        _root["kugel"+counter]._y = this._y-10; 

		setInterval(moveKugel, 50);
	
		// moveKugel();			
		counter++; 	
	}
	//  _root["kugel"+counter]._y += 50;	
}


Innerhalb des Intervals kann ich die Kugel nicht mehr ansprechen !
Intervalmethode lässt sich aufrufen. Nur der Zugriff auf die _y Koordinate der Kugel nicht.
 
Zuletzt bearbeitet:
Zurück