• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Liste von Objekten + foreach

BDG

Mitglied
Hey Leute,

ich habe ein Objekt Flugzeug :
Code:
function Flugzeug()
{
    [...]
}
Flugzeug.prototype.draw = function()
{
	main_ctx.drawImage(flug_sprite, this.x, this.y);
}

Und jetzt will ich eine Liste erstellen, mit bestimmt vielen Flugzeugen :

Code:
function createFlugzeuge(wieViele)
{


    flugzeugArray = new Object();
	
	for (var i = 1; i < wieViele; i++)
	{	
		flugzeugArray[i] = new Flugzeug();
	}




}

Und dann für jedes Objekt in dieser Liste die Funktion "draw" aufrufen :

Code:
for (var i in flugzeugArray)
{
	i.draw();
}

Allerdings sagt mir der Chrome Debugger jetzt immer "Object 1 has no method 'draw'"
Was mache ich da falsch ?
 
Werbung:
Am besten setzt du dich mit JavaScript-Grundlagen auseinander. Dass nur Chrome da stutzig wird, kann nicht sein. Die Variable i ist in diesem Fall der Name des Elements, nicht das Element. Was du willst ist sicherlich
flugzeugArray;

Im Übrigen sollte man bei for...in immer mit hasOwnProperty testen, ob das Element nicht zum Objektprototypen gehört.
 
Danke Schatz :*
Das funktioniert jetzt... Und das war nich so gemeint, dass NUR Chrome das sagt, sondern, dass ichs mit Chrome getestet hab, und der das dann eben gesagt hat...
Ich dachte mir es würde i.Draw() heißen, weil in Sprachen wie c# währe dass dann ja auch so in etwa :
foreach (Flugzeug flugi in flugzeugArray) { flugi.draw() }
Naja, danke danke danke und so weiter ^^
 
Werbung:
Zurück
Oben