Показать сообщение отдельно
Старый 12.06.2007, 15:03   #1
jimon
 
Сообщений: n/a
Тип Камеры

я чуствую что занимаюсь велосепедизмом .. но все же

Global Camera:TCamera

Type TCamera

	Field camera_x,camera_y
	
	Method DrawImages(image:TImage,x,y)
		DrawImage image,x - camera_x, y - camera_y
	End Method
	
	Method Move(x,y)
		camera_x = camera_x + x
		camera_y = camera_y + y
	End Method
	
	Method SetXY(x,y)
		camera_x = x
		camera_y = y
	End Method
	
	Method GetX()
		Return camera_x
	End Method

	Method GetY()
		Return camera_y
	End Method
	
	Method GetMouseX()
		Return MouseX() + camera_x
	End Method

	Method GetMouseY()
		Return MouseY() + camera_y
	End Method
	
	Method GetScrX(x)
		Return x - camera_x
	End Method
	
	Method GetScrY(y)
		Return y - camera_y
	End Method
	
	Function CreateCamera()
		Camera = New TCamera
	End Function

End Type

Function DrawImg(image:TImage,x,y)
	Camera.DrawImages(image,x,y)
End Function
и примерно как юзать
TCamera.CreateCamera()
............


if KeyDown(KEY_D) Camera.Move(1,0)
If KeyDown(KEY_A) Camera.Move(-1,0)
If KeyDown(KEY_W) Camera.Move(0,-1)
If KeyDown(KEY_S) Camera.Move(0,1)
DrawImg (img,0,0)

просто я пока плохо перевариваю ограничение екрана мне надо больше
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dranichek (27.08.2013)