Mesh in Function laden?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Rob_

Betreff: Mesh in Function laden?

BeitragMi, Jan 19, 2005 20:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

kann ich mesh in functionen laden ohne das dieser das mesh andauernt neuzeichnet?


[EDIT]



Anders geht ja nicht -.- also wenn ich 3 levels habe wie macht man dass, das der erste mesh geladen wird und das 2,3 nicht wenn mann dann weiter ist das erste löscht und dann das 2 läd?
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX
 

Dreamora

BeitragMi, Jan 19, 2005 20:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Mesh zb als global Variable haben oder Level als globalen Type etc
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Rob_

BeitragMi, Jan 19, 2005 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mesh geht nicht als global zu definieren
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX

Rob_

BeitragMi, Jan 19, 2005 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Rolling Eyes Embarassed habs.
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX

Rob_

BeitragFr, Jan 21, 2005 1:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Shit, es geht doch nicht erklärt mir das mal,

ich habs sooooweit das ich wenn die mesh_var = 1 ist das meshgeladen wird aber ich kann das mesh nicht rotatieren wenn ich in einer function rotateentity\turnentity mesh_var,0,1,0 mache.

Und jaa alles ist globalosiert
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX
 

David

BeitragFr, Jan 21, 2005 8:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Etwas Code wäre sinnvoll, zumindest soviel um nachzuvollziehen wie du das Mesh lädst und rotierst...

grüße

Rob_

BeitragFr, Jan 21, 2005 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok hier ist das wie ich es lade:

Code: [AUSKLAPPEN]
Global ammo_point = 1

If ammo_point = 1 Then
ammo_point = LoadMesh("Models\ammo_point.b3d")
PositionEntity ammo_point,0,1,-10
ScaleEntity ammo_point,.13,.13,.13
EndIf


Und wie ich es rotatieren versuche ist in einer function:

Code: [AUSKLAPPEN]
;AMMO POINT FUNCTION
Function ammo_points()

   RotateEntity ammo_point,0,1,0

End Function


Ich zeige das mesh an indem ich in der hauptschleife das hier schreibe:
Code: [AUSKLAPPEN]
If ammo_point = 1 then ammo_points()
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX

Ayman

BeitragFr, Jan 21, 2005 18:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Rob_

aus Deinem Code ist leider nicht recht zu ersehen, was Dein Problem ist.

Auch werde ich aus ...
Zitat:
kann ich mesh in functionen laden ohne das dieser das mesh andauernt neuzeichnet?
Anders geht ja nicht -.- also wenn ich 3 levels habe wie macht man dass, das der erste mesh geladen wird und das 2,3 nicht wenn mann dann weiter ist das erste löscht und dann das 2 läd?
... einfach nicht schlau.

Immerhin scheine ich bei Deiner ersten Frage (bzgl. Laden und Neuzeichnen) ein Missverständnis auszumachen:
Das Laden eines Meshs führt nicht direkt zu seiner Darstellung. Meshes werden erst durch RenderWorld tatsächlich dargestellt/gezeichnet.

Deine zweite Frage:
Zitat:
Anders geht ja nicht -.- also wenn ich 3 levels habe wie macht man dass, das der erste mesh geladen wird und das 2,3 nicht wenn mann dann weiter ist das erste löscht und dann das 2 läd?


Man läd Meshes im Allgemeinen auf Vorrat.
Das heißt man läd sie und macht sie zunächst mit HideEntity unsichtbar. Wenn Du dann den "ersten Level" brauchst machst Du den mit ShowEntity sichtbar. Brauchst Du ihn nicht mehr, machst Du ihn wieder unsichtbar und den nächsten Level (2.) sichtbar, u.s.w.

Ayman
 

antome

!!! gesperrt !!!

BeitragSa, Jan 22, 2005 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du die Function ammo_point aufrufst, dann tut sie genau das was sie soll, sie rotiert das Meshobjekt.
Wenn du nicht willst das es immer rotiert, dann musst du eine Abfrage davor schreiben

If dingsbums = irgendwas Then RotateEntity ammo_point,0,1,0


oder

Function ammo_points()

RotateEntity ammo_point,0,1,0
ammo_points = 0 <<<<<< dann wird sie nichtmehr aufgerufen.
End Function

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group