Waffe nich an richtiger Position!

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

the FR3AK

Betreff: Waffe nich an richtiger Position!

BeitragMo, Aug 28, 2006 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin grade an einem (ganz)kleinen FPS-Game...ich weiß aber nicht wie ich die Waffe richtig Positionieren kann,so dass ich sie immer (wie in einem FPS game)vor mir bzw.neben mir habe...

FreetimeCoder

BeitragMo, Aug 28, 2006 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier mal ein Beispiel

Code: [AUSKLAPPEN]
Graphics3D 800,600,0,2
SetBuffer BackBuffer()

Const Player=1,Scene=2
Const Oben=17,Unten=31,Links=30,Rechts=32

Licht=CreateLight()

KameraPivot=CreatePivot()
EntityType KameraPivot,Player
Kamera=CreateCamera(KameraPivot)
PositionEntity Kamera,0,3,0
PositionEntity Kamerapivot,0,10,0

;Ich hab jetz mal nen Würfel als Waffe genommen ^^
Waffe=CreateCube(Kamera)
ScaleEntity Waffe,0.1,0.1,2
PositionEntity Waffe,1,-1,0

Ground=CreatePlane()
EntityColor Ground,200,200,200
EntityType Ground,Scene

Dim Objekte(20)
For i=1 To 20
   Objekte(i)=CreateCube()
   EntityType Objekte(i),Scene
   PositionEntity Objekte(i),Rnd(-20,20),2,Rnd(-20,20)
Next

Collisions Player,Scene,2,2

MoveMouse GraphicsWidth()/2,GraphicsHeight()/2

While Not KeyHit(1)
   Cls
   TranslateEntity KameraPivot,0,-1,0
   If KeyDown(Oben)
      MoveEntity KameraPivot,0,0,0.1
   EndIf
   If KeyDown(Unten)
      MoveEntity KameraPivot,0,0,-0.1
   EndIf
   If KeyDown(Rechts)
      MoveEntity KameraPivot,0.1,0,0
   EndIf
   If KeyDown(Links)
      MoveEntity KameraPivot,-0.1,0,0
   EndIf
   Mx#=MouseXSpeed()
   My#=MouseYSpeed()
   TurnEntity Kamerapivot,0,-Mx/2,0
   TurnEntity Kamera,My/2,0,0
   MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
   UpdateWorld
   RenderWorld
   Flip
   Wend
End


Ich hoffe ich konnte helfen.
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA

the FR3AK

BeitragMo, Aug 28, 2006 18:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Sieht ja knuffig aus^^
aber wie mach ich das mit nem Geladenen Mesh?
z.B.Shotgun.x?

D2006

Administrator

BeitragMo, Aug 28, 2006 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
na nach dem gleichen Prinzip.

Der Player ist ein Pivot. Dieses Pivot nimmt man als parent für die Waffe.

Hier sieht man übrigens ein tolles Beispiel, wie wenig es bringt einfach nur Quellcode hinzuschreiben als Antwort.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

the FR3AK

BeitragMo, Aug 28, 2006 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Yeah...es geht...nur wenn ich nach oben guck geht die waffe nicht nach oben...nur bei links und rechts gucken gehts ...
 

Dreamora

BeitragMo, Aug 28, 2006 19:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Klingt als würdest du beim rauf runter gucken was komisches machen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

the FR3AK

BeitragMo, Aug 28, 2006 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier mal den Code:

Code: [AUSKLAPPEN]
...
Shotgun=LoadMesh( "Data/Gun/Gun.x" ) ;Mesh laden...
ScaleEntity Shotgun,.15,.15,.15 ;Größe bestimmen...
EntityParent Shotgun,KameraPivot ;Parent bestimmen...
PositionEntity Shotgun,3.5,7,2 ;Position bestimmen...
EntityType Shotgun,Player ;KollisionsTyp bestimmen...

...
;In der Warteschleife:

MoveMouse GraphicsWidth()/2,GraphicsHeight()/2

While Not KeyHit(1)
Cls
TranslateEntity KameraPivot,0,-2,0

If KeyDown(17)
MoveEntity KameraPivot,0,0,2

EndIf
If KeyDown(31)
MoveEntity KameraPivot,0,0,-2

EndIf
If KeyDown(32)
MoveEntity KameraPivot,2,0,0
 
EndIf
If KeyDown(30)
MoveEntity KameraPivot,-2,0,0
EndIf
Mx#=MouseXSpeed()
My#=MouseYSpeed()
TurnEntity Kamerapivot,0,-Mx/2,0
TurnEntity Kamera,My/2,0,0
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
UpdateWorld
RenderWorld
Flip
Wend
End

FreetimeCoder

BeitragMo, Aug 28, 2006 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Also erstmal Entschuldigung für die karge Antwort Embarassed

Du musst die Kamera und nicht den Pivot als Parent nehmen.
Die Kamera wird nach oben und unten gedreht, der Pivot nur nach rechts und links. Da die Kamera die Pivotdrehung mitmacht, sieht es so aus als ob du überall mit der Kamera hinguckst. Wenn man aber die Kamera alle Drehungen machen lasse würde, würde sich die Kamera manchmal in die falsche Richtung bewegen Wink
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA

the FR3AK

BeitragMo, Aug 28, 2006 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Shocked Ich wusste es^^ Cool
Very Happy Es funzt...THX!!!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group