Problem mit Types...
Übersicht

![]() |
ChrisAttackBetreff: Problem mit Types... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe ein Problem mit folgendem Code:
Code: [AUSKLAPPEN] ;_____Grasobjekt_________ Type gras field bild field pos_x field pos_y field pos_z end type ;_____Mapobjekt__________ const terrain_name$="map.bmp" ;<-| type map field height_map=loadterrain("Data/"+terrain_name$) field pos_x ;<-| field pos_y ;<-| field pos_z ;<-| end type level.map=new map function map_generate() positionentity level\height_map,level\pos_x,level\pos_y,level\pos_z end function Es kommt die Fehlermeldung: "Variable must be a Type" oder ähnlich. Woran liegt das? |
||
B3D
MSVC++ DX9SDK |
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
level ist nicht Global. Daher ist es in der Funktion eine Zahl. | ||
![]() |
ChrisAttack |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das heißt ich muss global height_map an den anfang meines codes schreiben, oder?
Habs probiert... klappt net... ![]() Was muss ich tun? Sorry, hab mich verlesen.. LEVEL IST NICHT GLOBAL. Ach so, und wie globalisier ich einen Type? ich dachte das wäre er ohnehin. |
||
B3D
MSVC++ DX9SDK |
![]() |
Clonker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Pack doch einfach die Variabel in die Funktion:
Code: [AUSKLAPPEN] function map_generate() level.map=new map positionentity level\height_map,level\pos_x,level\pos_y,level\pos_z end function |
||
Die exzessive Akkumulation von Fremdwörtern suggeriert pseudointellektuelle Kompetenz.
Athlon XP 2800|Radeon 9600 Pro|512MB DDR RAM|240GB Festplatte |
![]() |
ChrisAttack |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habs jetzt. ich hab ein global vor level.map = new map gesetzt.
Hätt ich auch gleich drauf kommen können, ich Trottel... ![]() |
||
B3D
MSVC++ DX9SDK |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] type map
field height_map=loadterrain("Data/"+terrain_name$) end type seit wann geht denn sowas? hab ich was verpasst? der compiler meldet tatsächlich keinen fehler?! ![]() |
||
- Zuletzt bearbeitet von OJay am Di, März 23, 2004 23:23, insgesamt einmal bearbeitet
furbolg |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wundert mich auch | ||
![]() |
DivineDominion |
![]() Antworten mit Zitat ![]() |
---|---|---|
das "new map" in der funktion ist ungünstig - es würde dir jedes mal ein neues, leeres dingsi erstellen. Besser ist da, abgeändert:
Code: [AUSKLAPPEN] Type map Field x End Type Global test.map = New map Function map_generate() Print test\x End Function Geht durchaus, solange du "test" (also "level" bei dir) nicht irgendwie überschreibst... Oder, eleganter: Code: [AUSKLAPPEN] Type map
Field x End Type test.map = New map Function map_generate() Local test.map = First map Print test\x End Function Ist dann zwar immer das selbe aber du vermeidest speichervergeudenden krimskrams ![]() |
||
christian.tietze@gmail.com - https://christiantietze.de
macOS |
![]() |
Gossi |
![]() Antworten mit Zitat ![]() |
---|---|---|
OJay hat Folgendes geschrieben: Code: [AUSKLAPPEN]
type map
field height_map=loadterrain("Data/"+terrain_name$) end type seit wann geht denn sowas? hab ich was verpasst? der compiler meldet tatsächlich keinen fehler?! ![]() Wenn man statt der Funktion eine konstante Zahl anhängt, meldet der Compiler zwar keinen Fehler, aber keins der erstellten Objekte hat dann die Zahl. Code: [AUSKLAPPEN] Type a Field b=10 End Type c.a=New a Print c\b c\b ist trotzdem 0. Komisch ist das... |
||
Alle Wasser laufen ins Meer, doch wird das Meer nicht voller; an den Ort, dahin sie fließen, fließen sie immer wieder. (...) Was geschehen ist, eben das wird hernach sein. Was man getan hat, eben das tut man hernach wieder, und es geschieht nichts neues unter der Sonne. Geschieht etwas, von dem man sagen könnte: "Sieh, das ist neu"? Es ist längst vorher auch geschehen in den Zeiten, die vor uns gewesen sind. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group