3d shooter hilfe

Previous topic - Next topic

GLBasic Freak

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

Kitty Hello

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

Schranz0r

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....
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

Code (glbasic) Select
WHILE KeineAhnung()
   INC ProjektUnfang, 1000
WEND

IF Projektumfang > Hirn() THEN END

Schranz0r

so in etwar :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

GLBasic Freak

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?

Schranz0r

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
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard