GLBasic forum

Other languages => GLBasic - de => Topic started by: GLBasic Freak on 2008-Jan-29

Title: 3d shooter hilfe
Post by: GLBasic Freak on 2008-Jan-29
hi alle!
ich wollte mal ein 3d shooter spiel erstellen und kamm nich weiter.

ich wollte die waffe einfügen aber sie wird nicht angezeigt :(

könnt ihr mir mal helfen?
währe nett^^

hier der code:
Code (glbasic) Select
// --------------------------------- //
// Project: 3d shooter
// Start: Monday, January 21, 2008
// IDE Version: 5.055


// Steuerung mit W-A-S-D Tasten + Maus
SETSCREEN 800,600,FALSE

// Lade 3D Objekte-------------
X_LOADOBJ "ground.ddw", 0
X_LOADOBJ "skybox.ddw",1

//-----------------------------

// Lade DRAWSPRITEs/Texturen... Texturen müssen ^2 sein!
LOADSPRITE "crosshair.bmp",1
LOADSPRITE "weapon1.bmp",9  //!!!das ist die waffe!!!
//--------------------------------------------------




GLOBAL up_down_limit = 80  //gesammt 160°
GLOBAL WalkSpeed = 0.30
GLOBAL sprintspeed = 0.30
GLOBAL phiXZ = 90  // Startwinkel korregieren
GLOBAL anziehung = 0.15 // Erdanziehungskraft
Y = 3

WHILE TRUE
X_MAKE3D .1,1000,45   // sicht von 1 bis 1000, brennweite 45
X_CAMERA X, Y, Z,   X+COS(phiXZ), Y+SIN(-phiXY), Z+SIN(phiXZ) // Die Cam erstellen

X_SPOT_LT 0,RGB(0xff, 0xff, 0xff),0,900,0,0,0,0,200   //Licht erstellen und in alle richtungen scheinen lassen (360)

X_DRAWOBJ 0,0

Coll = X_COLLISIONRAY(0,0,X,Y,Z,0,-1,0) // Collision mit Boden

INC Sky,0.1 // SkyBox-Winkel erhöhen
IF Sky > 359 THEN  Sky = 0 //winkel begrenzen

X_ROTATION Sky,0,1,0 // rotation erstellen
X_DRAWOBJ 1,0 // Skybox zeichen
X_CLEAR_Z // Tiefenbuffer löschen

IF Coll > 1.5
DEC Y,anziehung // wenn "Spieler" in der luft dann Anziehung!
ENDIF

IF Coll < 1.4 // muss kleiner sein als
INC Y,0.1 // wenn erhöhung kommt dann höher setzen

IF Coll = 0 THEN DEC Y,anziehung // wenn keine Collision da ist spieler runterfallen lassen
ENDIF



INC phiXZ,MOUSEAXIS(0)/2 //links-rechts
INC phiXY,MOUSEAXIS(1)/2 //hoch runter

IF phiXZ > 359 THEN phiXZ = 0  //Winkel begrenzen
IF phiXZ < 0 THEN phiXZ = 359  //Winkel begrenzen

IF phiXY < -up_down_limit THEN phiXY = -up_down_limit //Winkel begrenzen
IF phiXY > up_down_limit THEN phiXY = up_down_limit   //Winkel begrenzen

IF KEY(17) // forward -- W-KEY
INC Z,SIN(phiXZ)*WalkSpeed
INC X,COS(phiXZ)*WalkSpeed
ENDIF
IF KEY(31) // back    -- S-Key
DEC Z,SIN(phiXZ)*WalkSpeed
DEC X,COS(phiXZ)*WalkSpeed
ENDIF
IF KEY(30) // left  -- A-Key
INC Z,SIN(phiXZ-90)*WalkSpeed
INC X,COS(phiXZ-90)*WalkSpeed
ENDIF
IF KEY(32) // right  -- D-Key
INC Z,SIN(phiXZ+90)*WalkSpeed
INC X,COS(phiXZ+90)*WalkSpeed
ENDIF
IF KEY(29) AND KEY(17)
  INC Z,SIN(phiXZ)*sprintSpeed
INC X,COS(phiXZ)*sprintspeed
    ENDIF


X_MAKE2D // auf 2D umschalten

GETSCREENSIZE XX, YY
ALPHAMODE 0.2 // Alpha anstellen
DRAWSPRITE 1, XX/2-10,YY/2-10 // crosshair mittig setzen
DRAWSPRITE 2, XX/2-10,YY/2-10
ALPHAMODE 0 // Alpha reseten



SHOWSCREEN
WEND
END
Title: 3d shooter hilfe
Post by: Kitty Hello on 2008-Jan-30
X_MAKE3D 1,100 // nicht so großen Bereich wählen.
Die Kamera ist auf position 0,3,0 am Anfang. Du zeichest das Objekt auf 0,0,0 (Kein X_MOVEMENT devor).
Die Kamera ist also genau _in_ Deinem Objekt.


Schieb die Kamera mal weiter weg:
X_CAMERA X,Y,-50, 0,0,0
Title: 3d shooter hilfe
Post by: Schranz0r on 2008-Jan-30
Ich frag mich nur, wieso Leute immer als erstes ein 3D Shooter machen müssen oder ein RPG....?
Das ist doch mit das schwierigste überhaupt, grad für den Anfang!
Macht doch lieber erstmal kleine 2D Games, und wenn das dann so ziemlich ausgereizt ist, dann könnt ihr 3D machen.
So fallt ihr auf die Nase, und seid enttäuscht und nich mehr motiviert weiter zu machen....
Title: 3d shooter hilfe
Post by: Kitty Hello on 2008-Jan-30
Code (glbasic) Select
WHILE KeineAhnung()
   INC ProjektUnfang, 1000
WEND

IF Projektumfang > Hirn() THEN END
Title: 3d shooter hilfe
Post by: Schranz0r on 2008-Jan-30
so in etwar :D
Title: 3d shooter hilfe
Post by: GLBasic Freak on 2008-Jan-30
hi gernotfrisch!
was muss ich jetzt genau machen?

ich hab bei X_MAKE3D die hälfte weggenommen.
aber die waffe wird immer nochnicht angezeigt warum?? kannst du mal code geben?
Title: 3d shooter hilfe
Post by: Schranz0r on 2008-Jan-30
Wurde doch schon gesagt!

Du hast die Cam genau in der Waffe, Nun kommt es noch auf die größe der Waffe an!

Mach doch erstmal die Waffe auf 0,0,0 und die Cam auf 0,0,10,   0,0,0

X_MAKE3D 1,1000,45