Linked Lists und Dynamische Nummerierung
Verfasst: 18.04.2006 13:23
Hallo!
Ich habe eine Frage zu den wohl passierenden Konflikten zwischen Linked Lists und Dynamische Nummerierung. Also ich möchte eine Procedure schreiben die eine Map lädt. Da es mehrer Maps werden können, werden sie mit Nummern defeniert. Das mache ich mit einer Linked List. Es soll also so sein, dass die Mapnummer 1 einen roten Hintergrund bekommt, die Nummer 2 einen grünen usw. Ich will die Farben auf ein neues Sprite malen. Da es unbekannt viele Sprites werden können und ich kein Konflikt zwischen schon exestierenden Sprites haben will benutzte ich die Dynamische Nummerierung mit #PB_ANY. Das ganze sieht dann so bei mir aus:
Hier bekomm ich doch den Fehler bei "StartDrawing(SpriteOutput(Map()\MapSprite))", der sagt das dass Sprite Object nicht intilizierd wurde. Wenn ich das Ganze ohne eine Linked Liste schriebe, also statt "Map()\MapSprite" nur "MapSprite" schriebe funktioniert es, aber ich kann dann leider nicht die erwünschte Farbe aneigen lassen wenn es mehr als 1 Map gibt. Gibt es eine Möglichkeit es trotzdem wie von mit gewünscht zu machen? Wie gesagt ich habe mehrer Sprites und da es unbekjannt viele werden können kann ich die Spritenummer nicht einfach festlegen. Danke schonmal für eure Hilfe
Ich habe eine Frage zu den wohl passierenden Konflikten zwischen Linked Lists und Dynamische Nummerierung. Also ich möchte eine Procedure schreiben die eine Map lädt. Da es mehrer Maps werden können, werden sie mit Nummern defeniert. Das mache ich mit einer Linked List. Es soll also so sein, dass die Mapnummer 1 einen roten Hintergrund bekommt, die Nummer 2 einen grünen usw. Ich will die Farben auf ein neues Sprite malen. Da es unbekannt viele Sprites werden können und ich kein Konflikt zwischen schon exestierenden Sprites haben will benutzte ich die Dynamische Nummerierung mit #PB_ANY. Das ganze sieht dann so bei mir aus:
Code: Alles auswählen
Procedure CreateMap(Mapnumbre,Lenght,Hight,Texturfarbe)
AddElement(Map())
Map()\MapSprite = CreateSprite(#PB_ANY,Lenght,Hight)
StartDrawing(SpriteOutput(Map()\MapSprite))
If Texturfarbe = 0
Box(0,0,Lenght,Hight,RGB(255,0,0)
Else
Box(0,0,Lenght,Hight,RGB(0,255,0)
Endif
StopDrawing()
EndProcedure