Code archives/Graphics/Camera Pan Effect
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
The camera pans based on the location of your mouse pointer. E.g. Move the mouse left, to 'peek' into areas outside the viewing area. Hard to explain, try it. | |||||
Strict Graphics 800,600 Global newplayer:tplayer = New tplayer Global starsx%[500] Global starsy%[500] For Local I= 0 To 499 starsx[i]=Rnd(-1600, 1600) starsy[i]=Rnd(-1600, 1600) Next Type TPlayer Field X:Float Field Y:Float Method Render() SetColor(235,110,214) SetRotation (0) SetAlpha 1.0 Rem variables To hold the value of MOUSE X & Y POSITION. Since my intention is To focus the 'cam' on the 'player at the centre of the screen, I want To start out at the centre, hence the division of Graphics with resolution End Rem Local tx = GraphicsWidth()/2 - x Local ty = GraphicsHeight()/2 - y Local PanX:Float = MouseX() - GraphicsWidth()/2 Local panY:Float = MouseY() - GraphicsHeight()/2 'setting the origin SetOrigin(tx - panx , ty - pany) End Method 'standard input Method GetInput() If KeyDown(Key_left) x:-1 End If If KeyDown(key_right) x:+1 End If If KeyDown(key_UP) y:-1 End If If KeyDown(Key_Down) y:+1 End If End Method End Type While Not KeyHit(key_ESCAPE) Cls newplayer.getInput() newplayer.render() DrawRect(newplayer.x, newplayer.y, 20,20) DrawText("X= "+newplayer.x, 100,100) DrawText("Y= "+newplayer.y, 100,120) For Local I% = 0 To 499 DrawOval starsx[i], starsy[i], 3, 3 Next Flip Wend |
Comments
| ||
Pretty cool code, Cruis-In. Think you can do it in 3-D space now ? |
| ||
A better Blitz3D version with AUTOMATIC 2D-Camera Panning :: Not too entirely sure where I screwed up on the map-edge "collision" math. Perhaps someone can help! :) Anyways, Enjoy! ~GF |
Code Archives Forum