Показать сообщение отдельно
Старый 02.01.2010, 20:00   #10
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: ограничение мышки по вертикали

Morganolla, снова лишние операции.
Global wW=640,wH=640

Graphics3D wW,wH,32,2
SetBuffer BackBuffer()

player = CreatePivot()
camera = CreateCamera(player)
PositionEntity camera,0,1.5,0

pol = CreateTerrain(1)
PositionEntity pol,0,-1,0
ScaleEntity pol,32,32,32

For x=1 To 10
	cub = CreateCube()
	PositionEntity cub,Rand(0,32),0,Rand(0,32)
	EntityColor cub,Rand(0,255),Rand(0,255),Rand(0,255)
Next

CamPitch=0
CamSensivity#=.3
CamSpeed#=.05

MoveMouse wW/2.0,wH/2.0

While Not KeyDown(1)
	IKdUp=KeyDown(200)
	IKdDown=KeyDown(208)
	IKdLeft=KeyDown(203)
	IKdRight=KeyDown(205)
	
	mX=MouseXSpeed()
	mY=MouseYSpeed()
	MoveMouse wW/2.0,wH/2.0
	
	TurnEntity player,0,-mX*CamSensivity,0
	
	CamPitch=CamPitch+mY*CamSensivity
	If Abs(CamPitch)>70 CamPitch=Sgn(CamPitch)*70
	RotateEntity camera,CamPitch,EntityYaw(camera),0
	
	MoveEntity player,(IKdRight-IKdLeft)*CamSpeed,0,(IKdUp-IKdDown)*CamSpeed
	
	UpdateWorld
	RenderWorld
	Text 10,10,CamPitch
	Flip 0
Wend
End
Вот теперь, логически правильно, а багов не вылезет.
ЗЫ, ограничивать вниз на 25 градусов, весьма бесюче, и заметь, что везде от этого отказываются.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
KingMaks (02.01.2010)