Maps bauen

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

matchwinner

BeitragSa, Jan 12, 2008 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey danke the_Nici du hast mir gut geholfen. Den Anfang deines Type-Scriptes hatte ich gleich, doch dann lief es falsch. Tja jetzt hab ich das mit den Types auch kapiert. Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy
thx thx thx
Labyrus3D GUI = 30% Leveldesign = 10% Steuerung = 90% Gesamt =
 

matchwinner

Betreff: Pick dich!

BeitragFr, Jan 18, 2008 23:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun brauche ich noch Hilfe mit den Picked-Funktionen. Ich hab sie eingebaut, doch meine Objekte lassen sich nicht bewegen. Is glaub ich total vermurckst. Hab mir schon alle Infos durchgelesen, verstehe aber überhaupt nicht wie das laufen soll mit den ganzen IDs usw. Question Confused Sad

Hier mein Code (wo liegen die Fehler?):

Code: [AUSKLAPPEN]
;graphics-Variablen
scr_width = 1280
scr_height = 1024

;Grafik setzen
Graphics3D(scr_width,scr_height,32,1)
SetBuffer BackBuffer()

;Meshes laden
Global land1 = LoadMesh("land_box.x")
ScaleEntity land1,0.2,0.2,0.2
EntityPickMode land1,3

Global player = LoadMesh("player.x")
ScaleEntity player,0.2,0.2,0.2
EntityPickMode player,3

;Types definieren
Type land1
   Field mesh
   Field x
   Field y
   Field z
   Field id
End Type   

;Kamera setzen
Global camera1 = CreateCamera()
PositionEntity camera1, 20,20,0
RotateEntity camera1,45,90,0
CameraProjMode camera1,1
CameraZoom camera1,0.4

;Licht setzen
AmbientLight 255,255,255



Repeat

   Cls

   ;Setzt den Spieler
   PositionEntity player,0,0,0
   
   ;Pick-Funktion
   picked = PickedEntity()
   EntityPick (player,100)   
   
   ;Baut ein neues Land-Tile
   If KeyHit(2)
      land.land1 = New land1
      land.land1\mesh = land1
      land.land1\x = PickedX()
      land.land1\y = PickedY()
      land.land1\z = PickedZ()
   EndIf
   
   ;Bewegung nach links
   If KeyHit (203)
      land.land1\z = land.land1\z - 2
   EndIf
   
   ;Bewegung nach rechts
   If KeyHit (205)
      land.land1\z = land.land1\z + 2
   EndIf
   
   ;Bewegung nach hinten
   If KeyHit (200)
      land.land1\x = land.land1\x - 2
   EndIf
   
   ;Bewegung nach vorne
   If KeyHit (208)
      land.land1\x = land.land1\x + 2
   EndIf
   
   ;Bewegung nach oben
   If KeyHit (78)
      land.land1\y = land.land1\y + 2
   EndIf
   
   ;Bewegung nach unten
   If KeyHit (74)
      land.land1\y = land.land1\y - 2
   EndIf
      
   ;Aktualisieren
   UpdateWorld
   RenderWorld
   Flip
   
Until KeyHit(1)


Danke schon mal im Voraus!

mfg matchwinner
Labyrus3D GUI = 30% Leveldesign = 10% Steuerung = 90% Gesamt =

The_Nici

BeitragSa, Jan 19, 2008 9:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Bau einen pickbaren Boden ein, ansonsten kann er nichts "picken".

Dazu bitte folgendes:

Dieses
Code: [AUSKLAPPEN]

;graphics-Variablen
scr_width = 1280
scr_height = 1024

änderst du zu diesem
Code: [AUSKLAPPEN]

;Graphics-Variablen
Const scr_width = 1280
Const scr_height = 1024


Konstanten sind unveränderlich, und da du die Breite und Höhe nicht verändern willst, bringt das so eine Performancesteigerung.

Dazu positionierst du den Player immer auf 0,0,0...Absicht?

BladeRunner

Moderator

BeitragSa, Jan 19, 2008 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Und Du hast augenscheinlich types bzw. Variablenhandling immer noch nicht verstanden, denn Du lädst ein Mesh land1 und definierst zeitgleich einen Type land1, was nur zu Problemen führen kann.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group