Денис Купряков
Знаток
(256),
на голосовании
6 дней назад
вот код помогите позязя // Проверка паузы if (instance_exists(obj_pause_menu) && obj_pause_menu.paused) { exit; // Останавливаем все процессы, пока пауза активна }
// Логика движения игрока var move_speed = 4; var move_x = 0; var move_y = 0;
// Управление движением if (keyboard_check(ord("D"))) move_x = move_speed; if (keyboard_check(ord("A"))) move_x = -move_speed; if (keyboard_check(ord("S"))) move_y = move_speed; if (keyboard_check(ord("W"))) move_y = -move_speed;
// Проверка коллизии со стеной (obj_wall) if (!place_meeting(x + move_x, y, o_solid)) { x += move_x; // Двигаемся по X, если нет препятствия } if (!place_meeting(x, y + move_y, o_solid)) { y += move_y; // Двигаемся по Y, если нет препятствия }
// Логика смены спрайта в зависимости от движения if (move_x == 0 && move_y == 0) { // Если игрок не двигается, показываем спрайт стояния if (sprite_index != spr_gordiywithkatana_1) { sprite_index = spr_gordiywithkatana_1; image_speed = 0.15; // Скорость анимации при стоянии } } else { // Если игрок двигается, показываем анимацию ходьбы if (sprite_index != spr_gordiywithkatanamove) { sprite_index = spr_gordiywithkatanamove; image_speed = 0.15; // Скорость анимации при движении } }
// Поворот игрока в сторону мыши image_angle = point_direction(x, y, mouse_x, mouse_y);
// Атака if (mouse_check_button_pressed(mb_left)) { image_speed = 0.15 if (sprite_index != sprite_attack) { sprite_index = sprite_attack; image_index = 0; // Сброс на первый кадр }
instance_create_layer(x, y, "Effects", HITBOX); }
// Сброс уровня if (keyboard_check_pressed(ord("R"))) { room_restart(); }
// Камера if (instance_exists(camera_target)) { var target_x = camera_target.x; var target_y = camera_target.y;
var camera_x = camera_get_view_x(view_camera[0]); var camera_y = camera_get_view_y(view_camera[0]);
if (instance_exists(obj_pause_menu) && obj_pause_menu.paused) {
exit; // Останавливаем все процессы, пока пауза активна
}
// Логика движения игрока
var move_speed = 4;
var move_x = 0;
var move_y = 0;
// Управление движением
if (keyboard_check(ord("D"))) move_x = move_speed;
if (keyboard_check(ord("A"))) move_x = -move_speed;
if (keyboard_check(ord("S"))) move_y = move_speed;
if (keyboard_check(ord("W"))) move_y = -move_speed;
// Проверка коллизии со стеной (obj_wall)
if (!place_meeting(x + move_x, y, o_solid)) {
x += move_x; // Двигаемся по X, если нет препятствия
}
if (!place_meeting(x, y + move_y, o_solid)) {
y += move_y; // Двигаемся по Y, если нет препятствия
}
// Логика смены спрайта в зависимости от движения
if (move_x == 0 && move_y == 0) {
// Если игрок не двигается, показываем спрайт стояния
if (sprite_index != spr_gordiywithkatana_1) {
sprite_index = spr_gordiywithkatana_1;
image_speed = 0.15; // Скорость анимации при стоянии
}
} else {
// Если игрок двигается, показываем анимацию ходьбы
if (sprite_index != spr_gordiywithkatanamove) {
sprite_index = spr_gordiywithkatanamove;
image_speed = 0.15; // Скорость анимации при движении
}
}
// Поворот игрока в сторону мыши
image_angle = point_direction(x, y, mouse_x, mouse_y);
// Атака
if (mouse_check_button_pressed(mb_left)) {
image_speed = 0.15
if (sprite_index != sprite_attack) {
sprite_index = sprite_attack;
image_index = 0; // Сброс на первый кадр
}
instance_create_layer(x, y, "Effects", HITBOX);
}
// Сброс уровня
if (keyboard_check_pressed(ord("R"))) {
room_restart();
}
// Камера
if (instance_exists(camera_target)) {
var target_x = camera_target.x;
var target_y = camera_target.y;
var camera_x = camera_get_view_x(view_camera[0]);
var camera_y = camera_get_view_y(view_camera[0]);
// Интерполяция для плавного движения
camera_x = lerp(camera_x, target_x - (view_wview[0] / 2), 0.1);
camera_y = lerp(camera_y, target_y - (view_hview[0] / 2), 0.1);
camera_set_view_pos(view_camera[0], camera_x, camera_y);
}