Wie soll ich das anstellen???
Übersicht

Mr HoppBetreff: Wie soll ich das anstellen??? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi! ![]() Ich progge eigentlich schon recht lange und bin in Sachen 2D erfahren, ABER iwi hab ich ne Denksperre.... Es geht mir darum, dass ich ein Schienennetz in der GTA-Perspektive habe (also von oben drauf gucken). Nun habe ich überlegt, das ganze in ein Dim-Feld zu packen. Allerdings hat das den Nachteil, dass ich nur eine einzige Information speichern kann (Also RPG-mäßig nur die Art des Objektes^^) Nun ist aber eine Weiche breiter als eine normale Schiene. Wie kann der Zug nun erkennen, ob er sich an einer Weiche befindet, und wohin diese führt, und wo lang er fahren muss? ![]() Ich hoffe, mir kann jemand weiterhelfen, danke schonmal |
||
![]() |
Schranz0r |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm
im Dim würde ich es mal so versuchen: Jeder weiche einen Wert zuweisen: z.B so.: WeicheRechts = 1 usw dann prüfen ob Zug auf Feld 1 ist dann schauen wie die weiche steht: Grade = False Rechts = True dann wenn rechts ist den Zug sagen nach X fahren das ist jetzt mal so meine überlegung ![]() |
||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
hoi,
das schienennetz (d.h. der level an sich) lässt sich ja problemlos in ein dimfeld packen. dimfelder können übrigens auch mehr als 3 dimensionen haben...davon rate ich aber ab, ausser in einzelfällen, da bei mehr als 3 dimensionen die übersichtlichkeit den bach runter geht und ausserdem fressen grosse dims mehr ram als es den anschein hat. ein dimfeld mit 3 dimensionen und jeweils 50 indizes (dim(49,49,49)), wo jeweils ne integerzahl gespeichert wird, frisst gleich mal 50*50*50*4byte=500.000 byte = fast nen halbes MB ^^ was du benutzen könntest, wären z.b. types (siehe onlinehilfe) oder du machst es so (wir gehn mal davon aus dass der level in nen 2dimensionalen dimfeld abgelegt ist und die weichen auch) Code: [AUSKLAPPEN] if level(x,y)=weiche and x=zug_x and y=zug_y
if weiche(x,y) = links then zugfaehrtlinks() else zugfaehrtrechts() endif oder du machst es über collisionen...d.h. sobald das zugimage auf nen weichenimage trifft, überlegst du dir welche schiene er denn nun nehmen soll... es gibt sicher noch viele andere möglichkeiten...vielleicht hast du ja nun den richtigen denkanstoss ![]() l8er, psy |
||
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mhh.........ich denke, ich hab ne Idee ![]() Danke an euch beide ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group