Array lässt sich nicht übergeben?
Übersicht

![]() |
M0rgensternBetreff: Array lässt sich nicht übergeben? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey Leute.
Ich hab hier ein Stück Code, das mir zu schaffen macht. Gleich im voraus: Es geht um den Beitrag zum BCC, wenn ihr mir also nicht helfen wollt, dann versteh ich das. Problem ist folgendes: Der Spieler hat zwei Arrays. Ein Array in dem die Waffen gespeichert sind und ein Array in dem seine Munitionstypen mit Anzahl gespeichert sind. Jetzt übergebe ich den Spieler an eine Funktion der Klasse TWaffe. In dieser Funktion frage ich dann das komplette Array der Munition des Spielers ab und bekomme an dieser Stelle jedesmal (schon im ersten durchlauf) die Meldung, dass ich mich außerhalb des Array Bereiches bewege (Array Index out of Bounds.....). Hier mal der Code des Arrays: BlitzMax: [AUSKLAPPEN] player.tmammunitation = New tammo[tplayer.imaxweapons] Hier wird der komplette Spieler übergeben (Methode von TPlayer): BlitzMax: [AUSKLAPPEN] If KeyDown(Key_Space) Then Und hier ist die Funktion von TWaffe: BlitzMax: [AUSKLAPPEN] Method Shot(pPlayer:TPlayer, pDirection:Int) Wobei das Problem an folgender Stelle angezeigt wird: BlitzMax: [AUSKLAPPEN] DebugLog i Darf ich das ganze so nicht übergeben oder hab ich irgendwas anderes falsch gemacht? Ich habs schon, wie man sieht, mit debuglog überprüft und bin zu folgendem Ergebnis bekommen: Das passiert schon beim ersten Schleifendurchlauf, also wenn i = 0 ist. Wäre super, wenn jemand wüsste was ich falsch mache. Lg, M0rgenstern |
||
![]() |
DaysShadow |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich sehe hier im Code keinen Fehler, überprüfe mal deine TAmmo.Create Funktion ob sie auch was Returned...das wäre der für mich einzig ersichtliche Fehler, zwar den Platz reservieren aber halt nicht belegen.
Die Übergabe des Players in der Shot-Methode hat ja nichts direkt mit dem Array zu tun bzw. übergibst du das ja nicht direkt. Ansonsten, Problem isolieren oder einfachen vom Sinn her gleichen Code extra schaffen damit du evtl da den Fehler siehst. MfG DaysShadow |
||
Blessed is the mind too small for doubt |
- Zuletzt bearbeitet von DaysShadow am Sa, Aug 28, 2010 19:31, insgesamt einmal bearbeitet
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie groß ist das Array denn?
Wenn es 0 Einträge hat, würde ich noch einmal genau prüfen, ob die Initialisierung des Spielers wirklich richtig ausgeführt wurde. Sonst kann ich dir nur das übliche empfehlen: DebugLog, DebugLog, DebugLog und DebugStop... mfG mpmxyz P.S.: Ammunitation? Was ist das? ![]() Edit: "ammunition" ist das richtige Wort. |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
- Zuletzt bearbeitet von mpmxyz am Sa, Aug 28, 2010 19:53, insgesamt einmal bearbeitet
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ DaysShadow: Vielen Dank. Das wars. Return in der Create Funktion für Ammo vergessen.
Arg, das ist ärgerlich. Da sucht man ja nicht. @mpmxyz.... *hust* Munition? ![]() Lg, M0rgenstern |
||
![]() |
DaysShadow |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kenn ich, kenn ich ![]() Ewiglanges "Bugsuchen" für son Mist ![]() |
||
Blessed is the mind too small for doubt |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group