Anziehungskraft +Mouselook

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

the FR3AK

Betreff: Anziehungskraft +Mouselook

BeitragSo, Aug 27, 2006 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Rolling Eyes Also ich hab folgendes Problem:

Ich habe eine 3D Szene gebastelt,bei der man sich in mouselook perspektieve umschen kann...ich habe aber das Problem,wenn ich nach oben schaue und z.B.nach Vorne "laufe" hebt mein Player ab...ich will aber,auch wenn man nach oben guckt,dass man immer im gleichen abstand zum Boden hat...

Schonmal im voraus danke für eine Antwort! Very Happy

StepTiger

BeitragSo, Aug 27, 2006 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
ausschnitt aus dem Code von The Fear of Darksoul:

Code: [AUSKLAPPEN]
TranslateEntity player\Entity,Sin(EntityYaw(player\Entity,1)) * player\move_speed,0,Cos(EntityYaw(player\Entity,1)) * player\move_speed
Wink
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

the FR3AK

BeitragSo, Aug 27, 2006 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Klappt irgendwie nicht...ich weiß nicht mal wo ich den Script einfügen muss! Crying or Very sad

Blitzcoder

Newsposter

BeitragSo, Aug 27, 2006 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
also, du kannst es so machen

Code: [AUSKLAPPEN]

;Hauptschleife
pitch=entitypitch(cam)
roll=entityroll(cam)
rotateentity cam,0,y,0;Nur CamY drehen, da er ja auch nach rehcts/links laufen kann.
moveentity cam,0,0,1;Nach vorne bewegen.
rotateentity pitch,y,roll
;hauptschleife


Aber nochmalerweise bewege ich nicht die Cam, sondern einen Pivot, von aus auch waffen positioniert werden. So kann man die Cam beliebig drehen, ohne dass sie losfliegt Wink


MfG Blitzcoder
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

FreetimeCoder

BeitragSo, Aug 27, 2006 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ist mal ein komplettes 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

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
"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

StepTiger

BeitragSo, Aug 27, 2006 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
bei den vorne hinten bewegungen eben
Code: [AUSKLAPPEN]
TranslateEntity player\Entity,Sin(EntityYaw(KameraPivot,1)) * 0.1,0,Cos(EntityYaw(KameraPivot,1)) * 0.1


oder eben -0.1 (je nachdem vorne hinten)
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

the FR3AK

BeitragSo, Aug 27, 2006 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy es hat geklappt...nur wenn ich mit Heigtmapping mache...dann bin ich immer direkt am Boden...wie kann man da Abstand machn?

Hat sich erledigt!

So muss das:
Code: [AUSKLAPPEN]
PositionEntity Kamera,0,30,0

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group