я чуствую что занимаюсь велосепедизмом .. но все же
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)
просто я пока плохо перевариваю ограничение екрана

мне надо больше
