• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

How would I go about adding screen shake to my camera object (specifically to step event)

create:
GML:
/// @desc Cam
wCam = 640;
hCam = 360;

window_set_fullscreen(true);


//Screen shake
shake_length = 0;
shake_magnitude = 0;
shake_remain = 0;
buff = 16;
Step:
GML:
if(instance_exists(oPlayer)){
    
    
    var xCam = clamp(oPlayer.x - wCam / 2,  0, room_width - wCam);
    var yCam = clamp(oPlayer.y - hCam / 2,  0, room_height - hCam);

    

    var curX = camera_get_view_x(view_camera[0]);
    var curY = camera_get_view_y(view_camera[0]);

    var newX = lerp(curX, xCam, 0.1);
    var newY = lerp(curY, yCam, 0.1);

    camera_set_view_pos(view_camera[0], newX, newY);

    layer_x(layer_get_id("Background"), newX * 0.65);
    layer_y(layer_get_id("Background"), newY * 0.65);   

}
Script screenshake:
GML:
/// @desc scr_screenshake(magnitude,frame)
/// @param {integer} Magnitude sets the strength of the shake (radius in pixel)
///@param (interger} Frames sets thelength of the shake in frame (60 = 1 second at 60fps)
function scr_screenshake(magnitude,frames){
    with (oCamera)
    {
        if (magnitude > shake_remain)
        {
            shake_magnitude = magnitude;
            shake_remain = magnitude;
            shake_length = frames;
        }
        
}
Grateful for any feedback!
 
Top