DimFeld mit Debuglog ausgeben...?
Übersicht

![]() |
JamaginBetreff: DimFeld mit Debuglog ausgeben...? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Ich habe ein kleines Denkproblem und komm einfach nicht dahinter! Folgende Situation: Dim map.Stein(8, 8) Diese Variable wird im Spiel verwendet und Werte zugewiesen, jedoch wenn ich zB. den Inhalt des Feldes map(2,2) ausgeben möchte bekomme ich immer eine "ILLEGAL TYPE CONVERSION" Es scheitert auch wenn ich sage, nr = map.Stein(2,2) Wie kann man so eine Variable eigentlich auslesen (mit Debuglog)? Das brauch ich um ein Spielfeld abzuspeichern! Würde mich für einen Lichtblitz sehr freuen!! Danke lg. Jamagin ![]() |
||
Bevor du etwas neues beginnst, erledige das alte |
Sterbendes Lüftlein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Text entfernt | ||
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Totensturm,
ja klar, ich habe eine lokale Type liste und definiere das dann so lokal stein.TStein blabla map(x,y) = stein aber ich kann das nicht auslesen??? lg. Jamagin NB: Was meinst mit Unterstrich (_) |
||
Bevor du etwas neues beginnst, erledige das alte |
Sterbendes Lüftlein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Text entfernt | ||
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
du kannst keine Typeinstanzen als Text ausgeben. Würdest du sowas wie Java benutzen, wäre das möglich, dann gibt er dir die Adresse der Instanz als String aus. Geht in BB allerdings nicht. Was du machen kannst ist, Felder des Types ausgeben lassen. Zur Identifikation könntest du z.b eine ID-Nummer o.ä. reinspeichern, die du dir dann ausgeben lassen kannst. Siehe dieses Beispiel (inkl. den tollen Codetags, bei denen es sicher nicht schlecht wäre, wenn du sie dir angewöhnst :>): BlitzBasic: [AUSKLAPPEN] Type TStein TL/DR: Type -> String geht nicht, Debug über Type-Feld MfG, Darth |
||
Diese Signatur ist leer. |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, was du versuchts ist quasi "Debuglog stein". Du kannst keinen Type in dem Sinne ausgeben, du musst auf ein Feld zugreifen. also "stein.feld" und so sollte es dann auch in deinem Array funktionieren. | ||
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. |
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aha!
Ja so hab ich es ja auch versucht, doch da wird mir nix angezeigt obwohl die Objekte im Spielfeld sind. Code: [AUSKLAPPEN] Funktion Spielfeld() Local brick.TBrick For y = map_minY To map_maxY For x = map_minX To map_maxX brick.TBrick = New TBrick brick\x = x * tile_width + 12 brick\y = y * tile_height + 12 brick\art = Rand(1, 7) brick\objectID = HUD_CreateImage ... map(x, y) = brick Next Next End Function Codeausschnitt und wie man sieht ist die Typeliste lokal und ich möchte dann außerhalb der Funktion zB. auslesen was im Feld map(2,2) gespeichert ist! lg. Jamagin |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
darth hat Folgendes geschrieben: du kannst keine Typeinstanzen als Text ausgeben. Das ist nicht vollkommen richtig.
Man kann einen Type explizit zu String casten: BlitzBasic: [AUSKLAPPEN] Type TStein Ergibt im Debuglog: Code: [AUSKLAPPEN] [1,"woa"]
Alle Felder werden in Code-Reihenfolge aufgelistet. Nachtrag: Jamagin hat Folgendes geschrieben: wie man sieht ist die Typeliste lokal Ist sie nicht. In BlitzBasic ist sie immer Global zugänglich.
|
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Xeres,
danke, aber da bekomm ich nur ein [NULL] heraus. Code: [AUSKLAPPEN] Dim map.Stein(8,8) normalerweise müßte ich mit dieser Variable überall Zugriff haben auch auslesen können und das tut es nicht! Denn wenn ich Debuglog map.Stein(1,1) schreibe, bekomme ich schon die erste Fehlermeldung. Da aber die Typeliste lokal ist und die Werte da in die Variable map(x,y)=stein geschrieben werden, müßte ich diese auslesen können oder irre ich mich da nun? Denn auch DIM sagt ja aus das die Variable dann gloabl ist! Steh da voll am Schlauch, denn während des Spieles greife ich ja auch auf map(x,y) zu und da bekomm ich keine Fehlermeldung...! Ojeoje...! lg. Jamagin |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du machst irgendwas falsch ![]() Läuft, wie man es erwartet darf: BlitzBasic: [AUSKLAPPEN] Type TBrick Sind map_minY und map_maxY usw. ordentlich Global deklariert? Was machst du sonst noch zwischendurch? Was steht in der Fehlermeldung? |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Xeres,
habe deinen Ausschnitt jetzt kopiert und dann gestartet und es läuft bis zum Stop. Debugger ist an aber keine Anzeige, auch keine Fehlermeldung! Ich bei mir erhalte ein Object does not exist ... Und das ist komisch, denn das Spielfeld ist ja gefüllt! mal weitertüfteln...! Die Variablen map_minX und so weiter sind global lg. Jamagin |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dieser Thread kann bitte geschlossen werden!
@Xeres, ich habe das über eine zweite Variable ausgelesen, die ich sowieso für die Feldkontrolle hatte! Manchmal sieht man echt nix! Kein Wunder wenn das Programm schon über 5000 Zeilen hat! *gg* Danke lg. Jamagin |
||
Bevor du etwas neues beginnst, erledige das alte |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group