bewegung und schwerkraft

Übersicht BlitzBasic Blitz3D

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.

MrJoney

Betreff: bewegung und schwerkraft

BeitragDo, Jan 10, 2008 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
hi leute ich habe mall wieder ein problemm und zwar mit der schwerkraft und den laufen ich habe einen code geschreiben habe eine figur gebaut und die last sich mit link recht vor zurück leer auch steuern m wür sprinten aber die laufen mir zu schnell wenn ich ein mall drauf drücke bin cih schon am karten rand und wenn ich leer drücke kommt meine figur nicht mehr runter wie kann mann das endern hat jemand vieleicht eine idee würde es gerne so haben das mann annehern fürs auge sich vortbewegt die richtung die maus vorgib so wie bei css oder so und wenn mann leertaste drückt das mann nur bissel hochkomt und dann wieder runterfält etwa so wie dei stranded2 steuerung von DC mfg MrJOney

code Code: [AUSKLAPPEN]
Graphics3D 1024,768,0,2

SetBuffer BackBuffer()

HidePointer

Spieler=CreateSphere()
 PositionEntity Spieler,0,1.5,-3
 EntityRadius Spieler,.1,0.5     
 EntityType Spieler,1

camera=CreateCamera(Spieler)
 CameraRange camera,.1,200
 CameraClsColor camera,250,250,245

Global map=LoadMesh("map.b3d")
 PositionEntity map,30,0,-10
 EntityType map,2
 Collisions 1,2,2,2


kreuz = LoadImage("Fadenkreuz.bmp")
MaskImage kreuz,255,0,255
Status=LoadImage("Status anzeige.bmp")
MaskImage Status,255,0,255
CompassSockel=LoadImage("compass Sockel.bmp")
MaskImage CompassSockel,255,0,255
Compassnadel=LoadImage("compass nadel.bmp")
MaskImage Compassnadel,255,0,255

While Not KeyHit(1)
 Cls

walking=0
 If KeyDown(30) Then: MoveEntity Spieler,-2,0,0 : walking=1: EndIf ;links taste "A"
 If KeyDown(32) Then: MoveEntity Spieler, 2,0,0 : walking=1: EndIf ;rechts taste "D"
 If KeyDown(17) Then: MoveEntity Spieler,0,0,2 : walking=1: EndIf;vorwärts taste "W"
 If KeyDown(31) Then: MoveEntity Spieler,0,0,-2 : walking=1: EndIf ;rückwarst taste "S"
 If KeyDown(57) Then: MoveEntity Spieler,0,0.2,0 : EndIf ;Sprung taste "Leer"
 If KeyDown(50) Then: MoveEntity Spieler,0,0,1 : EndIf ;sprinten taste "M"

 
 UpdateWorld
 RenderWorld

 DrawImage kreuz,MouseX(),MouseY()
 DrawImage Status,1,1
 DrawImage CompassSockel,914,1
 DrawImage Compassnadel,962,7
 
 Flip 0
Wend
ClearWorld()
End

Jan_

Ehemaliger Admin

Betreff: Re: bewegung und schwerkraft

BeitragDo, Jan 10, 2008 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Zum laufen:
Code: [AUSKLAPPEN]
Graphics3D 1024,768,0,2

SetBuffer BackBuffer()

HidePointer

Spieler=CreateSphere()
 PositionEntity Spieler,0,1.5,-3
 EntityRadius Spieler,.1,0.5     
 EntityType Spieler,1

camera=CreateCamera(Spieler)
 CameraRange camera,.1,200
 CameraClsColor camera,250,250,245

Global map=LoadMesh("map.b3d")
 PositionEntity map,30,0,-10
 EntityType map,2
 Collisions 1,2,2,2


kreuz = LoadImage("Fadenkreuz.bmp")
MaskImage kreuz,255,0,255
Status=LoadImage("Status anzeige.bmp")
MaskImage Status,255,0,255
CompassSockel=LoadImage("compass Sockel.bmp")
MaskImage CompassSockel,255,0,255
Compassnadel=LoadImage("compass nadel.bmp")
MaskImage Compassnadel,255,0,255

global xspeed#=0
global zspeed#=0

While Not KeyHit(1)
 Cls

walking=0
 If KeyDown(30) Then: xspeed=-1 : walking=1: EndIf ;links taste "A"
 If KeyDown(32) Then: xspeed= 1 : walking=1: EndIf ;rechts taste "D"
 If KeyDown(17) Then: zspeed= 1 : walking=1: EndIf;vorwärts taste "W"
 If KeyDown(31) Then: zspeed=-1 : walking=1: EndIf ;rückwarst taste "S"
 If KeyDown(57) Then: MoveEntity Spieler,0,0.2,0 : EndIf ;Sprung taste "Leer"
 If KeyDown(50) Then: MoveEntity Spieler,0,0,1 : EndIf ;sprinten taste "M"
 xspeed#=xspeed#*0.9
 zspeed#=zspeed#*0.9
 MoveEntity Spieler,xspeed#,0,zspeed#
 UpdateWorld
 RenderWorld

 DrawImage kreuz,MouseX(),MouseY()
 DrawImage Status,1,1
 DrawImage CompassSockel,914,1
 DrawImage Compassnadel,962,7
 
 Flip 0
Wend
ClearWorld()
End
between angels and insects

MrJoney

BeitragDo, Jan 10, 2008 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
jo danke aber wie mache ich das das wenn ich laufe die richtung mit der maus angeben kann

Benibaerenstark

BeitragDo, Jan 10, 2008 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
meiner Ansicht nach Beginners-Corner... Schau dir mal die Castle-Demo an... ausserdem liefert die Forensuche ziemlich viele Ergebnisse zum freien Fall.

wenn sich die Figur zu schnell bewegt: Die verschiebungsvariabeln nach Moveentity verkleinern

Schwerkraft: Du definierst eine Variable "Fallgeschwindigkeit" welche bei jedem Schleifendurchlauf um einen Gewissen Begrag (Gravitationskraft) erhöht wird. Und in jedem Schleifendurchlauf wird dein Spieler um diese Fallgeschwindigkeit nach unten verschoben. Moveentity Spieler, 0,- Fallgeschwindigkeit,0

-Wenn die Figur mit dem Boden kollidiert ist, setzt du die Fallgeschwindigkeit auf 0

-Wenn die Figur springen soll setzt du die Fallgeschwindigkeit auf einen negativen Wert ->er steigt, doch die Steigegeschwindigkeit nimmt ab, und er fällt irgendeinmal zurück, da du die Fallgeschwindigkeit bei jedem Schleifendurchlauf um ein kleines bisschen erhöhst.

und strukturiere deine Frage und schreibe keinen 10-Zeiligen Bandwurm ohne Punkt und Komma.


Edit:
Drehung des Spielers
Code: [AUSKLAPPEN]


;Spielerdrehung
   mxs#=mxs#+(MouseXSpeed()/5.0)
   mys#=mys#+(MouseYSpeed()/5.0)

   RotateEntity Spieler,mys#,-mxs#,0
   MoveMouse gfxwidth/2,gfxhight/2




gruss

beni

MrJoney

BeitragDo, Jan 10, 2008 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
habe jetz meine code soweit abgeändert mit eurer hilfe .
aber wie mache ich jetzt die schwerkraft und verhindere das ich wenn ich nach oben kucke das der spieler dann auch anch oben lauft.und wie verhindere ich es das mann eine 180 grad drehung mit der maus mache .


Code: [AUSKLAPPEN]

Graphics3D 1024,768,0,2

SetBuffer BackBuffer()

HidePointer


Spieler=CreateSphere()
PositionEntity Spieler,0,1.5,-3
EntityRadius Spieler,.1,0.5
EntityType Spieler,1

camera=CreateCamera(Spieler)
CameraRange camera,.1,200
CameraClsColor camera,250,250,245

Global map=LoadMesh("map.b3d")
PositionEntity map,30,0,-10
EntityType map,2
Collisions 1,2,2,2


kreuz = LoadImage("Fadenkreuz.bmp")
MaskImage kreuz,255,0,255
Status=LoadImage("Status anzeige.bmp")
MaskImage Status,255,0,255
CompassSockel=LoadImage("compass Sockel.bmp")
MaskImage CompassSockel,255,0,255
Compassnadel=LoadImage("compass nadel.bmp")
MaskImage Compassnadel,255,0,255



Global xspeed#=0
Global zspeed#=0

While Not KeyHit(1)
Cls

walking=0
If KeyDown(30) Then: xspeed=-1 : walking=1: EndIf ;links taste "A"
If KeyDown(32) Then: xspeed= 1 : walking=1: EndIf ;rechts taste "D"
If KeyDown(17) Then: zspeed= 1 : walking=1: EndIf;vorwärts taste "W"
If KeyDown(31) Then: zspeed=-1 : walking=1: EndIf ;rückwarst taste "S"
If KeyDown(57) Then: MoveEntity Spieler,0,0.2,0 : EndIf ;Sprung taste "Leer"
If KeyDown(50) Then: MoveEntity Spieler,0,0,1 : EndIf ;sprinten taste "M"
xspeed#=xspeed#*0.01
zspeed#=zspeed#*0.01
MoveEntity Spieler,xspeed#,0,zspeed#
UpdateWorld
RenderWorld
;Spielerdrehung
mxs#=mxs#+(MouseXSpeed()/5.0)
mys#=mys#+(MouseYSpeed()/5.0)

RotateEntity Spieler,mys#,-mxs#,0
MoveMouse gfxwidth/2,gfxhight/2

MoveMouse 512,383
DrawImage kreuz,MouseX(),MouseY()
DrawImage Status,1,1
DrawImage CompassSockel,914,1
DrawImage Compassnadel,962,7

Flip 0
Wend
ClearWorld()
End

Jan_

Ehemaliger Admin

BeitragDo, Jan 10, 2008 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
translate entity statt moveentity

und das andere, musst du in einer Variable abspeichern, und dann abfragen, ob sie <>+-89 ist
between angels and insects

MrJoney

BeitragDo, Jan 10, 2008 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
wie meist du das ?

MrJoney

BeitragFr, Jan 11, 2008 12:17
Antworten mit Zitat
Benutzer-Profile anzeigen
könnte jemand mir das bitte etwas genauer erklären dann wäre ich ihm sehr verbunden Wink

mfg MrJoney

MrJoney

BeitragFr, Jan 11, 2008 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
hat den keiner ein bischen zeit für mich übrig ?

D2006

Administrator

BeitragFr, Jan 11, 2008 15:15
Antworten mit Zitat
Benutzer-Profile anzeigen
~GESCHLOSSEN~


Hiermit lernst, was wir hier von solche Doppel- oder gar Tripleposts halten. Gar nichts!
Benutze zukünftig den EDIT-Button, wobei du sowas wie "kann mir den keiner helfen?" gleich lassen kannst.
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

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group