Mesh, Function Problem

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Honesch

Betreff: Mesh, Function Problem

BeitragMi, Sep 17, 2008 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo alle zusammen

Ich habe eine function geschrieben, die probehalber anstelle eines player einen würfel erstellt. Die Kamera will ich mit einer anderen Funktion bewegen (3rd Person, rollenspielmäßig). Jedoch kommt bei mir der Fehler, dass die Kamera nicht existiert. Nun suche ich einen Befehl wie Return, nur dass er keine Variable zurückgeben soll, sondern das Objekt (dass ich es bewegen, rotieren etc. kann). Und dadurch das Objekt (in diesem Fall die Kamera) wieder in anderen Funktionen verwenden kann. Habe auch schon das Forum durchforstet, aber nichts gefunden Confused So, hier einmal der Code:

Code: [AUSKLAPPEN]

Function player_create()
   
   player = CreateCube()
   
   hp = 100
   mp = 100
   start_xpos = 0
   start_ypos = 0
   start_zpos = 0
   
   ScaleEntity player,10,10,10
   EntityColor player,200,0,0
   PositionEntity player,start_xpos,start_ypos,start_zpos
   
End Function

;=====================================================================

Function create_camera(parent)

   camera=CreateCamera(player)
   PositionEntity camera,0,100,-100
   TurnEntity camera,45,0,0   
   EntityParent camera,parent
   
End Function

;=====================================================================

Function move_camera()

   MoveEntity camera,0,0,MouseZSpeed()/2
           
            etc.
            .
            .
            .

End Function


Ich hoffe ihr könnt mir helfen Confused Wenn ich das Problem nicht ausführlich genug oder unverständlich beschrieben habe, bitte sagen ! Smile

mfg Honesch aus Wien Cool
Das Leben ist wie ein Computerspiel. Scheiß Handlung aber geile Grafik !
 

da_poller

BeitragMi, Sep 17, 2008 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
ist die kamera global?

fals nicht kann ich mir schon denken.. da sie in der funktion erstellt wird und außerhalb lokal nicht mehr existiert..

Noobody

BeitragMi, Sep 17, 2008 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun, darum stellt er ja die Frage, wie er die Kamera zurückgeben kann, da_poller.

Ein Objekt wie eine Kamera ist in B3D nichts weiteres als eine Zahl (der Zeiger auf das Objekt), daher braucht die Funktion nur einen Typ Integer (welcher Standart ist).
In deinem Code reicht in diesem Falle also in der Funktion create_camera ein "Return Camera"
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

da_poller

BeitragMi, Sep 17, 2008 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
oh verzeih das hab ich übersehen..

hiermit korrigiere ich:

Code: [AUSKLAPPEN]
Return Camera
 

Honesch

Betreff: danke

BeitragMi, Sep 17, 2008 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Function move_camera() funktioniert immer noch nicht Confused Objekt existiert nicht, obwohl ich die objekte bei jeder funtion "returne" Shocked

EDIT: Es funktioniert, musste die Camera nur global setzen...danke für die schnellen Antworten ! Smile
Das Leben ist wie ein Computerspiel. Scheiß Handlung aber geile Grafik !

The_Nici

BeitragMi, Sep 17, 2008 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Sollte Folgendermassen gehen falls du Return Camera im Code hast:
Code: [AUSKLAPPEN]

mycam = camera_create()
move_camera(mycam)

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group