standardize keyboard-based FlxCamera movement
This commit is contained in:
10
src/kiss_flixel/CameraTools.hx
Normal file
10
src/kiss_flixel/CameraTools.hx
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
package kiss_flixel;
|
||||||
|
|
||||||
|
import kiss.Prelude;
|
||||||
|
import kiss.List;
|
||||||
|
import flixel.FlxCamera;
|
||||||
|
import flixel.math.FlxVector;
|
||||||
|
import flixel.math.FlxPoint;
|
||||||
|
|
||||||
|
@:build(kiss.Kiss.build())
|
||||||
|
class CameraTools {}
|
14
src/kiss_flixel/CameraTools.kiss
Normal file
14
src/kiss_flixel/CameraTools.kiss
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
(function updateKeyControl [:FlxCamera camera :Float elapsed :Float speed :Void->Bool leftKey :Void->Bool rightKey :Void->Bool upKey :Void->Bool downKey]
|
||||||
|
(let [scrollAmount (* speed elapsed)
|
||||||
|
&mut :FlxVector movement (new FlxPoint)]
|
||||||
|
(when (leftKey) (-= movement.x 1))
|
||||||
|
(when (rightKey) (+= movement.x 1))
|
||||||
|
(when (upKey) (-= movement.y 1))
|
||||||
|
(when (downKey) (+= movement.y 1))
|
||||||
|
(when (< 0 movement.length)
|
||||||
|
(set movement (movement.normalize)))
|
||||||
|
(movement.scale scrollAmount)
|
||||||
|
(+= camera.scroll.x movement.x)
|
||||||
|
(+= camera.scroll.y movement.y)))
|
||||||
|
|
||||||
|
(function updateKeyControl [:FlxCamera camera :Float elapsed :Float speed :Void->Bool leftKey :Void->Bool rightKey :Void->Bool upKey :Void->Bool downKey]
|
Reference in New Issue
Block a user