
Graphics3D 1280,1024 ,32,1
Global sky=mAKESKYBOX("sKY/")
Const T_player=1
Const T_terrain=2
Const T_zdan=2
player=LoadAnimMesh("man.3ds")
head=LoadMesh("head.3ds")
EntityParent head,player
PositionEntity player,0,40,0
Sound=LoadSound ("DStep02.wav")
LoopSound Sound
Function MakeSkyBox( file$ )
m=CreateMesh()
;front face
b=LoadBrush( file$+"sky_fr.JPG",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0
AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;right face
b=LoadBrush( file$+"sky_ri.JPG",49 )
s=CreateSurface( m,b )
AddVertex s,+1,+1,-1,0,0:AddVertex s,+1,+1,+1,1,0
AddVertex s,+1,-1,+1,1,1:AddVertex s,+1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;back face
b=LoadBrush( file$+"sky_bk.JPG",49 )
s=CreateSurface( m,b )
AddVertex s,+1,+1,+1,0,0:AddVertex s,-1,+1,+1,1,0
AddVertex s,-1,-1,+1,1,1:AddVertex s,+1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;left face
b=LoadBrush( file$+"sky_le.JPG",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,+1,0,0:AddVertex s,-1,+1,-1,1,0
AddVertex s,-1,-1,-1,1,1:AddVertex s,-1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;top face
b=LoadBrush( file$+"sky_up.JPG",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
ScaleMesh m,150,150,150
FlipMesh m
EntityFX m,9
EntityOrder m,10
Return m
End Function
ScaleEntity SKY,150,150,150
Camera=CreateCamera(head)
PositionEntity camera ,0,0.8,0
CameraRange Camera,0.1,100000
Light=CreateLight(1,Camera)
LightRange Light,5
terrain=CreatePlane()
tex=LoadTexture("terrain1.jpg")
energy=LoadImage("enege.jpg")
life=LoadImage("Life.jpg")
zdan=LoadAnimMesh("zdan1.3ds")
PositionEntity zdan,0,5,0
ScaleTexture tex,2,2
EntityAlpha head,0
EntityTexture terrain ,tex
EntityType player,T_player
EntityType terrain, T_terrain
EntityType zdan,T_zdan
Collisions T_player,T_terrain,2,3
Collisions T_player,T_zdan,1,2
While Not KeyHit(2)
TranslateEntity PLAYER,0,-0.4,0
myspd#=MouseYSpeed()*0.25
mxspd#=MouseYSpeed()*0.25
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
campitch#=EntityPitch(head)+myspd#
If campitch#<-4 Then campitch#=-4
If campitch#>7 Then campitch#=7
RotateEntity head,campitch#,EntityYaw(head)-mxspd#,EntityRoll(head)
If KeyHit(17) Then Animate player,1,2
If Not KeyDown(17) Then Animate player,1,0
If KeyDown(17) MoveEntity player,0,0,.2
If KeyDown(31) MoveEntity player,0,0,-.2
If KeyDown(32) MoveEntity player,.2,0,0
If KeyDown(30) MoveEntity player,-.2,0,0
If jump = 1 Then
TranslateEntity player,0,vector*dt*.1,0
vector = vector - .001*dt
End If
If KeyHit(57) And jump=0 Then vector = 1: jump = 1
If jump = 1 Then
If EntityCollided (player,T_terrain) Then jump = 0
End If
RotateEntity head,EntityPitch(head),0,EntityYaw(head)
RenderWorld
UpdateWorld
DrawImage energy,1020,975
DrawImage life,1020,1000
Flip
CameraRange CAMERA,0.1,100000
Wend
End