Показать сообщение отдельно
Старый 14.07.2010, 21:55   #5
zinador
AnyKey`щик
 
Регистрация: 26.12.2009
Сообщений: 9
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Обзор мыши как в Gothic I-II

Include"xors3d.bb"
xGraphics3D 640,480,32,0,1
xSetBuffer xBackBuffer()

;Start Constants
T_PLAYER=1
T_TERRAIN=2
;End Constants

;Game Objects
player=xCreateSphere()
camera=xCreateCamera(player)
light=xCreateLight()
terrain=xLoadMesh("content/terrain.3ds")
sky=xCreateSphere()
skytex=xLoadTexture("content/skies01/sky001.jpg")

;End Game Objects

;Start Game Objects Update
xEntityTexture sky,skytex
xEntityFX sky,16
xScaleEntity sky ,50000,50000,50000
xRotateEntity light,90,0,0
xPositionEntity camera,0,1,-5
xScaleEntity terrain ,10,10,10
xPositionEntity terrain ,-300,0,-800
xCameraRange camera,1,500000
;End Game Objects Update

;Start Types
xEntityType player,T_PLAYER
xEntityType terrain,T_TERRAIN
;End Types

;Start Collisions
xCollisions T_PLAYER,T_TERRAIN,2,2
;End Collisions

;Start Main Loop
While Not xKeyDown(1)

;Start SkyBox Event
xTurnEntity sky,0,-.004,0
dxsky#=xEntityX( camera,True )-xEntityX( sky )
dysky#=xEntityY(camera,True )-xEntityY( sky )
dzsky#=xEntityZ( camera,True )-xEntityZ( sky )
xTranslateEntity sky,dxsky#,dysky#,dzsky#
;End SkyBox Event

;Start Mouse Event
mxspd#=xMouseXSpeed()*0.25   
myspd#=xMouseYSpeed()*0.25   
xMoveMouse xGraphicsWidth()/2,xGraphicsHeight()/2    
campitch#=xEntityPitch(player)+myspd#  
If campitch#<-85 Then campitch#=-85   
If campitch#>85 Then campitch#=85   
xRotateEntity camera,campitch#,xEntityYaw(player)-mxspd#,xEntityRoll(camera) 
xTranslateEntity player,0,-1,0
;End Mouse Event

;Start Key Event
If xKeyDown(17) Then xMoveEntity player ,0,0,100 
If xKeyDown(31) Then xMoveEntity player ,0,0,-1
If xKeyDown(32) Then xMoveEntity player ,1,0,0
If xKeyDown(30) Then xMoveEntity player ,-1,0,0
;End Key Event

xUpdateWorld
xRenderWorld
xFlip
Wend
;End Main Loop
End
Ну посматри похимич) я уже целый день парюсь
(Offline)
 
Ответить с цитированием