LimitCamera
Author: Hedge
Added: 17. kesäkuuta 2012 kello 23.23
Edited: 17. kesäkuuta 2012 kello 23.23
Category: Kamera
Description
Pitää kameran tilekartan rajojen sisäpuolella. Olettaa että kartta ON ladattu globaaliin muuttujaan gMap. Ottaa parametreinä kameran koordinaatit ennen liikuttamista.
Code
Select all1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | // Kartan pitää olla tässä muuttujassa
Global gMap
gMap = LoadMap( "Media\testmap.til", "Media\tileset.bmp" )
// Esimerkki
Dim oldX, oldY As Integer
Repeat
// Otetaan kameran koordinaatit talteen
oldX = CameraX()
oldY = CameraY()
TranslateCamera ( RightKey() - LeftKey() ) * 3, ( UpKey() - DownKey() ) * 3
LimitCamera( oldX, oldY )
DrawScreen
Forever
// By Hedge
// http://www.cbrepository.com/codes/code/73/
// oldX&oldY = kameran koordinaatit ennen liikuttamista
Function LimitCamera( oldX As Integer, oldY As Integer )
If CameraX() < -( ObjectSizeX( gMap ) / 2 - ScreenWidth() / 2 ) Or CameraX() > ( ObjectSizeX( gMap ) / 2 - ScreenWidth() / 2 ) Then
PositionCamera oldX, CameraY()
EndIf
If CameraY() < -( ObjectSizeY( gMap ) / 2 - ScreenHeight() / 2 ) Or CameraY() > ( ObjectSizeY( gMap ) / 2 - ScreenHeight() / 2 ) Then
PositionCamera CameraX(), oldY
EndIf
EndFunction
|
Comments
No comments. You can be first!
Leave a comment
You must be logged in to comment.