Map überschreiben/ersetzen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

N0X

Betreff: Map überschreiben/ersetzen

BeitragDo, Jan 28, 2010 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Wie kann ich auf Knopfdruck meine Map zu einer anderen verändern?

Ansatz:
Code: [AUSKLAPPEN]
Global map1   = LoadMesh("models\city01.3ds")

While Not KeyHit(1)
   If KeyHit(35) Then
      map1 = LoadMesh("models\innen.3ds")
   EndIf
Wend
End


Da wird das Modell irgendwie nur dazugeladen. Question

Mfg,
N0X
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

Holzchopf

Meisterpacker

BeitragDo, Jan 28, 2010 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
FreeEntity
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

N0X

BeitragDo, Jan 28, 2010 13:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Klar, dankeschön! Smile
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

N0X

BeitragDo, Jan 28, 2010 14:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt falle ich aber durch das neue Modell durch, obwohl ich es mit [[EntityType()]] angepasst habe. ?!

Code: [AUSKLAPPEN]
;Variablen, Konstanten, Types etc.
Const PLY=1,MAP=2,GEG=3,NPC=4

;----------------------------------------------------------------------------------------------|
;Haupt-Teil
Graphics3D 800,600,32,2
SetBuffer BackBuffer()
timer = CreateTimer(60)

;----------------------------------------------------------------------------------------------|
;3D Ressourcen
Global piv    = CreatePivot()
Global cam    = CreateCamera(piv)
Global player = LoadAnimMesh("models\dwarf1.b3d")
Global map1   = LoadMesh("models\city01.3ds")

Global d_event = LoadMesh("models\door.3ds")
PositionEntity d_event,43,4,0

;----------------------------------------------------------------------------------------------|
;Einstellungen, Positionieren etc.
PositionEntity cam,0,10,-20

EntityType(player,PLY)
EntityType(map1,MAP)

;----------------------------------------------------------------------------------------------|
;Haupt-Schleife
Collisions PLY,MAP,2,3
Collisions PLY,GEG,2,1
Collisions PLY,NPC,2,1
While Not KeyHit(1)
   WaitTimer(timer)
   Cls
   
   If EntityDistance(player,d_event)<10 Then
      CameraProject(cam,EntityX(d_event),EntityY(d_event),EntityZ(d_event))
      Text ProjectedX()-10,ProjectedY()-150,"Haus von Doris"
      If KeyHit(35) Then
         FreeEntity(map1)
         innen = LoadMesh("models\innen.3ds")
         EntityFX innen,16
         EntityType(innen,MAP)
      EndIf
   EndIf

   ;----------------------------------------------------------------------------------------------|
   RenderWorld()
   UpdateWorld()
   Flip 0
Wend
End
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%
 

BBPro2

BeitragDo, Jan 28, 2010 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
ohne ne ahnung von 3d zu haben:

deine neue map hat einen anderen variablennamen als die alte
spätestens beim 2. keyhit würde das wohl in einem error enden

(freeentity (map1) ohne dass map 1 existiert)

vielleicht liegt es daran?

the FR3AK

BeitragDo, Jan 28, 2010 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Richtig, du willst map 1 nochmal löschen obwohl es nicht mehr existiert.
Kannst ja eine Abfrage einbauen:

if level=innen then
freeentity map1
else if level=map1 then
freeentity innen
end if

mal so als pseudocode und als gedanken anstoß Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group