Player - mal ganz woanders!

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Black Spider

Betreff: Player - mal ganz woanders!

BeitragSa, Sep 03, 2005 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey Leute,
wir proggn grad n Jump´n´run / Action game, und ich hab n kleines Problem beim Coden.
Der Spieler wird auf der Landschaft positioniert, zusammen mit der Kamera und dem Pivot. Alles hat eine Kollision.
Da der Player mitten in einer Schlucht steht (was er nicht soll) wollte ich ihn woanders hinsetzen. Doch jetzt sieht man ihn nicht mehr. Bewegen kann man die Figur anscheinend noch (die Positionswerte werden angezeigt),
doch irgendwie is alles seltsam:
Die Pivot-drehung hat n grösseren Radius, der Y-Wert sinkt, und die kamera bewegt sich anner´s.
Code:
BlitzBasic: [AUSKLAPPEN]

Global player = LoadMesh(\"Mariorun.x\")
PositionEntity player,5700,600,6200
;PositionEntity player,3111,820,7090
EntityType player,type_spieler
EntityRadius player,15
ScaleEntity player,.3,.3,.3

Global pivot = CreatePivot()
cam = CreateCamera(pivot)
MoveEntity cam,0,0,10
CameraRange cam,1,50000
CameraFogMode cam,1
CameraFogRange cam,100,30000
CameraFogColor cam,50,30,0
RotateEntity cam,0,0,0
CameraClsColor cam,30,140,255
PositionEntity cam,5,-10,-33
EntityType cam,type_kamera
EntityRadius cam,33

PointEntity cam,player
light=CreateLight()
TurnEntity light,45,45,0

...
BlitzBasic: [AUSKLAPPEN]

While Not KeyHit(1)

mxspd=MouseXSpeed()*0.25
myspd=MouseYSpeed()*0.25
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
pitch=pitch+myspd
yaw=yaw-mxspd
If pitch<-90 Then pitch=-90
If pitch>90 Then pitch=90
RotateEntity cam,pitch,yaw,0

If KeyDown(17) Then
MoveEntity player,0,0,10
;Schwerkraft# = 0.1
;Else Schwerkraft = -30
End If

If EntityCollided(player, type_terrain) = True Then
If KeyDown(17) Then Schwerkraft = 0.0001
End If
If EntityCollided(player, type_terrain) = False Then
If KeyDown(17) Then Schwerkraft = -5
Else Schwerkraft = -30
End If


If KeyDown(30) Then TurnEntity player,0,5,0
If KeyDown(31) Then MoveEntity player,0,0,-10
If KeyDown(32) Then TurnEntity player,0,-5,0

If KeyDown(203) Then TurnEntity pivot,0,3,0
If KeyDown(205) Then TurnEntity pivot,0,-3,0

If KeyDown(200) Then

If zoom# < 7 Then zoom# = zoom# + 0.3
End If

If KeyDown(208) Then

If zoom# > -7 Then zoom# = zoom# - 0.3
End If

If KeyHit(57) Then
Sprungkraft# = 50
Else Sprungkraft# = Sprungkraft# - 3
End If

PositionEntity pivot,EntityX(player),EntityY(player),EntityZ(player)+zoom#


MoveEntity pivot,0,0,zoom#
TranslateEntity player,0,Schwerkraft# + Sprungkraft#,0


UpdateWorld
RenderWorld

Text 0,0,\"X: \"+EntityX(player)
Text 0,20,\"Y: \"+EntityY(player)
Text 0,40,\"Z: \"+EntityZ(player)

Flip
Wend


kann man mir helfen? denn wenn ich eine Andere Heighmap nehme hab ich das gleiche Problem...
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

otta

BeitragMo, Sep 05, 2005 1:13
Antworten mit Zitat
Benutzer-Profile anzeigen
hm..also ih hab mir jetzt den code nicht näher angeschaut aber so wie es aussieht setzt du die weerte der kamera unabhängig von dem spieler.
vielleicht solltest du, wen du die werte der Spielerposition änderst auch die Position der Cam und so ändern. Falls du das doch anders gelöst hast bitte ich um berzeihung Wink

was noch sein könnt ist du den player vielleicht an einer doofen stelle gesetzt hast (unter der map oder irgendwie sowas).
AthlonXP 2800+, Radeon 9600XT,160GBHDD,512 MB DDR Ram (neuer Rechner neues Glück;))

Aktuelles Projekt:
momentan Projektlos

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group