Advertisement
EvansB1ack

Untitled

Mar 21st, 2025 (edited)
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. scr_globals
  2. global.score = 0;
  3.  
  4. obj_player
  5. #event create
  6. x = 100;
  7. y = room_height/2;
  8. GRAVITY = 10;
  9. vspeed = 0;
  10.  
  11. #event step
  12. if (vspeed < GRAVITY) vspeed += 0.4;
  13. if (keyboard_check_pressed(vk_space))
  14. {
  15.     vspeed = -10;  
  16. }
  17. if (y > room_height) || (y < 0) game_restart(); // Упал на пол
  18. if (vspeed < 0) image_angle = 20; // Вверх при прыжке
  19. else image_angle = -20; // Вниз при падении
  20. if (place_meeting(x, y, obj_pipe)) game_restart();
  21.  
  22. ---
  23.  
  24. obj_controller
  25. #event create
  26. alarm[0] = 1;
  27.  
  28. #event alarm0
  29. var gap = 250; // Зазор между трубами
  30. //var pipe_height = sprite_get_height(spr_pipe_top); // Высота трубы
  31. var min_y = 200; // Минимальная высота центра зазора
  32. var max_y = room_height - 200; // Максимальная высота центра зазора
  33. var base_y = random_range(min_y, max_y); // Случайный центр зазора
  34. // Верхняя труба: нижний край на base_y - gap/2
  35. instance_create_layer(room_width + sprite_get_width(spr_pipe_top)/2, base_y - gap/2, "Instances", obj_pipe, { is_top: true });
  36. // Нижняя труба: верхний край на base_y + gap/2
  37. instance_create_layer(room_width + sprite
  38.  
  39. #event draw
  40. draw_set_color(c_white); // Цвет текста
  41. draw_set_font(fnt_fontMedium);
  42. draw_set_halign(fa_center);
  43. draw_text(room_width/2, 50, "SCORE: " + string(global.score));
  44. draw_set_halign(fa_left);
  45.  
  46. ---
  47.  
  48. obj_pipe
  49. #event create
  50. x = room_width + sprite_width/2;
  51. speed = -4;
  52. if (!variable_instance_exists(id, "is_top"))
  53. {
  54.     is_top = choose(true, false);
  55. }
  56. if (is_top)
  57. {
  58.     sprite_index = spr_pipe_top;
  59. }
  60. else
  61. {
  62.     sprite_index = spr_pipe_bottom;
  63. }
  64.  
  65. #event step
  66. x += speed;
  67. if (x < 0-sprite_width) instance_destroy();
  68.  
  69. // Подсчёт очков, когда птичка пролетает
  70. if (!counted && (x < obj_player.x))
  71. {
  72.     counted = true;
  73.     global.score += 0.5;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement