; Step 7 ; Let's control both the player and the 'screen view point'. ; So all we're doing is adding a section that changes the player ; position on background. ; And that's all there is to it! :) Back_SizeX = GraphicsWidth () Back_SizeY = GraphicsHeight () Player_SizeX = 20 Player_SizeY = 20 ; Orientation point. Back_PosX = 0 Back_PosY = 0 ; Player *starts* in middle of background. Player_BackPosX = Back_SizeX / 2 Player_BackPosY = Back_SizeY / 2 View_WorldPosX = 0 View_WorldPosY = 0 SetBuffer BackBuffer () Repeat ; Up/down/left/right to control player (regular arrow keys). ; This is the only added part. If KeyDown ( 200 ) Then Player_BackPosY = Player_BackPosY - 1 If KeyDown ( 208 ) Then Player_BackPosY = Player_BackPosY + 1 If KeyDown ( 203 ) Then Player_BackPosX = Player_BackPosX - 1 If KeyDown ( 205 ) Then Player_BackPosX = Player_BackPosX + 1 ; Up/down/left/right on keypad to control view (arrow keys on keypad). If KeyDown ( 72 ) Then View_WorldPosY = View_WorldPosY - 2 If KeyDown ( 80 ) Then View_WorldPosY = View_WorldPosY + 2 If KeyDown ( 75 ) Then View_WorldPosX = View_WorldPosX - 2 If KeyDown ( 77 ) Then View_WorldPosX = View_WorldPosX + 2 Back_ScreenPosX = Back_PosX - View_WorldPosX Back_ScreenPosY = Back_PosY - View_WorldPosY Player_ScreenPosX = Back_ScreenPosX + Player_BackPosX Player_ScreenPosY = Back_ScreenPosY + Player_BackPosY Rect Back_ScreenPosX , Back_ScreenPosY , Back_SizeX , Back_SizeY , False Rect Player_ScreenPosX , Player_ScreenPosY , Player_SizeX , Player_SizeY , False Flip Cls Until KeyHit ( 1 ) End