TheDirectorCSI
Member
create:
Step:
Script screenshake:
Grateful for any feedback!
GML:
/// @desc Cam
wCam = 640;
hCam = 360;
window_set_fullscreen(true);
//Screen shake
shake_length = 0;
shake_magnitude = 0;
shake_remain = 0;
buff = 16;
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);
}
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;
}
}