Hallo,
So ich bin zwar kein Experte aber ich habe mich in GLBasic Super! zurecht gefunden.
Ich war dabei mit ein bisschen eigen wissen und ein oder zwei Tutorial mir ein kleines Spiel zusammenzuschrauben,
Es lief wirklich alles Prima aber als ich die Datei geschlossen hab, lief noch alles.
Dann kam ich auf die wunderbare Idee dem Spiel über die Optionen einen neuen Namen zugeben, als ich auch die restliche namen ersätzt habe steht da:
C:\Users\*****\AppData\Local\Temp\glbasic\gpc_tempg.cpp:41: error: request for member `X' in `((__GLBASIC__::TMap*)this)-
>__GLBASIC__::TMap::Player', which is of non-class type `DGNat'
C:\Users\*****\AppData\Local\Temp\glbasic\gpc_tempg.cpp:41: error: request for member `Y' in `((__GLBASIC__::TMap*)this)->__GLBASIC__::TMap::Player', which is of non-class type `DGNat'
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
Bitte kann mir jemand helfen?
(Ich möchte dieses Problem so schnell wie möglich lösen)
PS: Ich habe schon versucht alles zurückzusetzen immer der gleiche Fehler!
Hast nen Fehler beim TYPE-Namen würde ich sagen.
Sieht schwer nach Schreibfehler beim Aufruf von TMap aus.
SELF. vergessen?!
Nein es ist leider kein Schreibfehler, der Fehler ist aufgetreten als ich den Namen des Spiels geändert habe.
Moin,
du hast über die optionen den Namen geändert?
Hier wird dann im ausgabeordner ein neuer Appordner erstellt, hier fehlen dann die ganzen media daten.
Schau mal nach, ich bin selber nicht am Rechner.
Gesendet von meinem GT-I9300 mit Tapatalk
So, bins nochmals -> Fabbio.
Habe mal schnell den Rechner gestartet, ein altes Projekt geöffnet, Namen in den Optionen geändert.
Jetzt gibts bei mir den
QuoteERROR 3
Keine Datei
Es wir eine neuer Appordner erstellt und hier fehlen die Media, Map, Ini.....dateien.
Kopiere mal alle dateien von dem Originalen Ordner in den neuen Appordner und teste mal.
Sollte eigentlich funktionieren.
Ich danke euch für eure Hilfe.
Ich habe schon alles im Media Ordner drin.
Vielleicht Hilft das?
LOCAL Tiles$[]
SPLITSTR(Line$, Tiles$[], ",")
X = 0
FOREACH Tile IN Tiles$[]
self.Datas[X][Y] = INTEGER(Tile)
IF self.Datas[X][Y] = 4
Spieler.X = X*Tilesize
Spieler.Y = Y*Tilesize
self.SpawnX = Spieler.X
self.SpawnY = Spieler.Y
self.Datas[X][Y] = 0
ENDIF
INC X
NEXT
Da wird mir glaub ich der Fehler angezeigt.
PS: Mit X und Y Groß und klein hab ich versucht immer der gleich Fehler.
Lade doch bitte mal deinen Code irgendwo rauf und schick mir den Link per PM dann kann ich dir besser helfen.
wie und wo
DGNat is a int (etc a%=100). You might have used float? You might have used int in the type and float to pass it (or the other way). That might cause the error.
Das Ändern des Namens sollte eigentlich nicht zu solch einem Fehler führen, das sieht ganz klar nach irgendeinem Schreibfehler aus, eventuell einem der durch das Neuladen der Datei und die Groß-/Kleinschreibe-Korrektur automatisch erzeugt wurde. Um dir zu helfen, müssen wir mindestens sehen, an welcher Stelle er vermutlich auftrat, außerdem brauchen wir die Type-Deklaration, nur wenn wir sehen, wie der Type/die Klasse gebildet wurde, können wir Unstimmigkeiten im Aufruf entdecken.
Übrigens sollte in einer Funktion innerhalb eines Types keine Variable existieren, welche den selben Namen trägt, wie eine der Type-eigenen Variablen/ Mitgliedern. Das funktioniert zwar meist, kann aber auch zu seltsamen Fehlern führen (Grund liegt im C++ zu dem GLBasic deinen Code übersetzt).