Er übernimmt mein Bild auf einmal nicht mehr?
Übersicht

![]() |
M0rgensternBetreff: Er übernimmt mein Bild auf einmal nicht mehr? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey Leute.
Ich hab ein kleines Problem, bzw eher ein großes. Ich hatte vorher nur eine Datei für den Spieler. Jetzt hab ich aber 3 verschiedene Animationsstrips, die aber alle gleich aufgebaut sind. Zum laden hab ich folgendes Array: BlitzMax: [AUSKLAPPEN] Global tiPlayer:TImage[3, 4] Und der Spielertype hat folgendes Array: BlitzMax: [AUSKLAPPEN] Field tIGImage:TInGameImage[3, 4] Das Array lass ich hier mit den vorher geladenen Bildern füllen (im Konstruktor des Spielers): BlitzMax: [AUSKLAPPEN] For Local i:Int = 0 To 3 Der Konstruktor von TIngameImage sieht so aus, also nichts großartiges: BlitzMax: [AUSKLAPPEN] Function Create:TInGameImage(pImage:TImage, pMaxFrames:Int = 0, PTimer:Int = 0) Wenn ich jetzt den Spieler zeichnen lassen möchte, mache ich folgendes: BlitzMax: [AUSKLAPPEN] DrawImage(tIGImage[iChosenWeapon, iDirection].tiimage, fXPos + 8, fYPos + 8, 0) Als Frame hab ich extra 0 eingetragen um eine Fehlerquelle auszuschließen. Wenn ich jetzt das Programm starte, und das erste mal der Spieler gezeichnet werden soll, bekomme ich folgenden Fehler angezeigt: Zitat: Unhandled Exception:Attempt to access field or method of Null object
Wenn ich dann auf Debug klicke, bekomme ich die Datei max2d.bmx angezeigt und folgende Stelle markiert: BlitzMax: [AUSKLAPPEN] Local x0#=-image.handle_x,x1#=x0+image.width
Diese steckt in folgender Funktion: BlitzMax: [AUSKLAPPEN] Function DrawImage( image:TImage,x#,y#,frame=0 ) Wie kann das sein? Bzw, wo steckt das Problem? Ich bin doch eigentlich nie außerhalb der Arrays. Und mein Array ist auch vorhanden und alle Bilder auch geladen (Letzteres hab ich überprüft) Und auch der Wert der Dinge im Array sind am Anfang immer 0, also sicherlich nicht außerhalb der Grenzen. Wäre super, wenn mir jemand helfen könnte. Das ist grausam gerade. Lg, M0rgenstern EDIT: Komisch. Wenn ich folgendes mache: BlitzMax: [AUSKLAPPEN] DebugLog "Direction: " + iDirection + " Waffe: " + iChosenWeapon dann erhalte ich folgende Ausgabe: Zitat: DebugLog:Direction: 0 Waffe: 0
DebugLog:X: 16.0000000 Breite: 32 DebugLog:Y: 24.0000000 H�he: 48 DebugLog:Frame: 0 Animation: 0 Ich verstehe also wirklich nicht, wo sein Problem liegt. Lg, M0rgenstern |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
So genau kann ich dir das aus den codeschnipseln nicht sagen, aber geb mal Mit Debuglog werte aus, welchen wert was hat. Dann, wenn es abgetürzt ist wegen dem Fehler dann Guckst du im Debuglog (Output) Fenster nach, und siehst welche werte nicht passen...
Falls du das Schon probiert hast, kann ich dir, wie gesagt, so aus dem FF nicht helfen. mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab ja im Debuglog mal alle relevanten Werte ausgegeben (siehe mein Edit).
Mein Array ist auch <> NULL (auch schon getestet). Ich kanns mir nicht erklären. Das ist erst, seit ich eine Dimension mehr im Array hab. Lg, M0rgenstern |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du schonmal gecheckt, ob auch alle Bilder geladen werden?
Also da es bei 0,0 auftritt guck mal was folgendes ausgibt: BlitzMax: [AUSKLAPPEN] DebugLog (tiPlayer[0,0] <> Null) Wenn das 1 ausgibt, dann wurde dein Bild erfolgreich geladen, wovon ich im Moment nicht ausgehe, sofern ich nicht überlesen habe. MfG Der Eisvogel |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also das bildarry selbst hab ich so noch nicht überprüft. Nur mal den pfad mit filetype.
Was ich gemacht habe, ist: BlitzMax: [AUSKLAPPEN] DebugLog(tigimage[ichosenweapon, idirection].tiimage<>0) Und wenn das bild vorher schon nicht geladen werden konnte, dann müsste doch auch der pointer hier null sein, oder sehe ich das falsch? Lg, m0rgenstern |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soweit ich weiß ist 0 nicht gleich Null. Versuche es mal mit Null. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry.
Meinte ich doch. Also, ich hab das mit <> Null ausprobiert. Folgendes ergiebt auch 1: BlitzMax: [AUSKLAPPEN] DebugLog (tiPlayer[0,0] <> Null) (Direkt nach dem Laden des Bildes). Ich weiß echt nicht mehr weiter. Lg, m0rgenstern EDIT: OH MAN. SOOO DÄMLICH! Sorry. Es lag an ner ganz anderen Stelle. Hat sich also erledigt. Lg, M0rgenstern |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group