소스 검색

2026/2/18

DrDuck0117 3 달 전
부모
커밋
881a58986d
60개의 변경된 파일563개의 추가작업 그리고 35개의 파일을 삭제
  1. 5 0
      ddmyx.yyp
  2. 11 1
      notes/必读(更新日志)/必读(更新日志).txt
  3. 5 0
      objects/oCredit/Collision_oPlayer.gml
  4. 6 0
      objects/oCredit/Create_0.gml
  5. 30 0
      objects/oCredit/Step_0.gml
  6. 40 0
      objects/oCredit/oCredit.yy
  7. 2 0
      objects/oEnemyCrawl/Create_0.gml
  8. 1 1
      objects/oInGameManager/Create_0.gml
  9. 13 17
      objects/oMain/Step_0.gml
  10. 9 0
      objects/oParentCollectable/Collision_oPlayer.gml
  11. 4 4
      objects/oParentCollectable/Create_0.gml
  12. 1 0
      objects/oParentCollectable/oParentCollectable.yy
  13. 2 0
      objects/oParentEnemy/Create_0.gml
  14. 2 0
      objects/oParentEnemy/Destroy_0.gml
  15. 1 0
      objects/oParentEnemy/oParentEnemy.yy
  16. 1 1
      objects/oParentInteractive/Step_0.gml
  17. 3 1
      objects/oPlayer/Create_0.gml
  18. 1 2
      objects/oPlayer/Step_0.gml
  19. 6 0
      objects/oSlicedApple/Create_0.gml
  20. 41 0
      objects/oSlicedApple/oSlicedApple.yy
  21. 4 0
      rooms/rTest_1/rTest_1.yy
  22. 44 5
      scripts/PlayerStates/PlayerStates.gml
  23. 5 3
      scripts/SL/SL.gml
  24. BIN
      sprites/sCredit/a61051d0-0c51-4ad3-86f8-52d73edb9e0f.png
  25. BIN
      sprites/sCredit/layers/a61051d0-0c51-4ad3-86f8-52d73edb9e0f/a88dd50e-6f03-4d53-a1ff-b8efc1febf11.png
  26. 90 0
      sprites/sCredit/sCredit.yy
  27. BIN
      sprites/sPlayerDeath/1f35ea38-ff95-41e1-9957-f848343bcb44.png
  28. BIN
      sprites/sPlayerDeath/2c23944c-aec4-4384-ae56-bcb5d5054429.png
  29. BIN
      sprites/sPlayerDeath/3394bbc7-82d0-4e5d-a236-9c4e8bcc79b5.png
  30. BIN
      sprites/sPlayerDeath/4bcd4533-69fe-4a79-90a8-c5657a887a46.png
  31. BIN
      sprites/sPlayerDeath/72f5149d-1e45-4fcd-b0e5-91b00da6c9b4.png
  32. BIN
      sprites/sPlayerDeath/8efdfcb4-637d-44c6-9028-a9ec4c30435c.png
  33. BIN
      sprites/sPlayerDeath/aa4297c7-4744-4b2b-88b9-d9241f102cba.png
  34. BIN
      sprites/sPlayerDeath/aad3a77b-5f07-4a2f-8b97-3c6c625072f0.png
  35. BIN
      sprites/sPlayerDeath/b61db9a0-df4d-427b-bf24-6cc731506d33.png
  36. BIN
      sprites/sPlayerDeath/be6ece33-3b72-476c-8eaf-d6bb5d4575b3.png
  37. BIN
      sprites/sPlayerDeath/c13c3aa8-cfa7-44db-8808-f1d4a448fc41.png
  38. BIN
      sprites/sPlayerDeath/c3a5edae-6658-4a95-bc06-7e7f19eced08.png
  39. BIN
      sprites/sPlayerDeath/c5d44fa5-d96c-487d-bddf-77cad6272ecf.png
  40. BIN
      sprites/sPlayerDeath/cda145ee-2907-4c9f-a808-96b0a4c4df0e.png
  41. BIN
      sprites/sPlayerDeath/d0e37413-bb00-48fd-aa74-37842ae04a70.png
  42. BIN
      sprites/sPlayerDeath/layers/1f35ea38-ff95-41e1-9957-f848343bcb44/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  43. BIN
      sprites/sPlayerDeath/layers/2c23944c-aec4-4384-ae56-bcb5d5054429/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  44. BIN
      sprites/sPlayerDeath/layers/3394bbc7-82d0-4e5d-a236-9c4e8bcc79b5/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  45. BIN
      sprites/sPlayerDeath/layers/4bcd4533-69fe-4a79-90a8-c5657a887a46/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  46. BIN
      sprites/sPlayerDeath/layers/72f5149d-1e45-4fcd-b0e5-91b00da6c9b4/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  47. BIN
      sprites/sPlayerDeath/layers/8efdfcb4-637d-44c6-9028-a9ec4c30435c/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  48. BIN
      sprites/sPlayerDeath/layers/aa4297c7-4744-4b2b-88b9-d9241f102cba/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  49. BIN
      sprites/sPlayerDeath/layers/aad3a77b-5f07-4a2f-8b97-3c6c625072f0/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  50. BIN
      sprites/sPlayerDeath/layers/b61db9a0-df4d-427b-bf24-6cc731506d33/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  51. BIN
      sprites/sPlayerDeath/layers/be6ece33-3b72-476c-8eaf-d6bb5d4575b3/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  52. BIN
      sprites/sPlayerDeath/layers/c13c3aa8-cfa7-44db-8808-f1d4a448fc41/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  53. BIN
      sprites/sPlayerDeath/layers/c3a5edae-6658-4a95-bc06-7e7f19eced08/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  54. BIN
      sprites/sPlayerDeath/layers/c5d44fa5-d96c-487d-bddf-77cad6272ecf/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  55. BIN
      sprites/sPlayerDeath/layers/cda145ee-2907-4c9f-a808-96b0a4c4df0e/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  56. BIN
      sprites/sPlayerDeath/layers/d0e37413-bb00-48fd-aa74-37842ae04a70/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png
  57. 146 0
      sprites/sPlayerDeath/sPlayerDeath.yy
  58. BIN
      sprites/sSlicedApple/68a31352-75ab-4b39-9342-16c96466c068.png
  59. BIN
      sprites/sSlicedApple/layers/68a31352-75ab-4b39-9342-16c96466c068/39a9e008-688b-420a-a81e-890b87de9ca8.png
  60. 90 0
      sprites/sSlicedApple/sSlicedApple.yy

+ 5 - 0
ddmyx.yyp

@@ -46,6 +46,7 @@
     {"id":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},},
     {"id":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},},
     {"id":{"name":"oCamera","path":"objects/oCamera/oCamera.yy",},},
+    {"id":{"name":"oCredit","path":"objects/oCredit/oCredit.yy",},},
     {"id":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},},
     {"id":{"name":"oDoubleJumpEffect","path":"objects/oDoubleJumpEffect/oDoubleJumpEffect.yy",},},
     {"id":{"name":"oEnemyCrawl","path":"objects/oEnemyCrawl/oEnemyCrawl.yy",},},
@@ -72,6 +73,7 @@
     {"id":{"name":"oPlayerHitboxMark","path":"objects/oPlayerHitboxMark/oPlayerHitboxMark.yy",},},
     {"id":{"name":"oPlayerHitboxUp","path":"objects/oPlayerHitboxUp/oPlayerHitboxUp.yy",},},
     {"id":{"name":"oSavePoint","path":"objects/oSavePoint/oSavePoint.yy",},},
+    {"id":{"name":"oSlicedApple","path":"objects/oSlicedApple/oSlicedApple.yy",},},
     {"id":{"name":"oSpike","path":"objects/oSpike/oSpike.yy",},},
     {"id":{"name":"rTest_1","path":"rooms/rTest_1/rTest_1.yy",},},
     {"id":{"name":"rTest_2","path":"rooms/rTest_2/rTest_2.yy",},},
@@ -88,6 +90,7 @@
     {"id":{"name":"SL","path":"scripts/SL/SL.yy",},},
     {"id":{"name":"sBlockClimbable","path":"sprites/sBlockClimbable/sBlockClimbable.yy",},},
     {"id":{"name":"sBlockSlippery","path":"sprites/sBlockSlippery/sBlockSlippery.yy",},},
+    {"id":{"name":"sCredit","path":"sprites/sCredit/sCredit.yy",},},
     {"id":{"name":"sDoor","path":"sprites/sDoor/sDoor.yy",},},
     {"id":{"name":"sDoubleJumpEffect","path":"sprites/sDoubleJumpEffect/sDoubleJumpEffect.yy",},},
     {"id":{"name":"sEnemyCrawl","path":"sprites/sEnemyCrawl/sEnemyCrawl.yy",},},
@@ -104,6 +107,7 @@
     {"id":{"name":"sPlayerArcSlash","path":"sprites/sPlayerArcSlash/sPlayerArcSlash.yy",},},
     {"id":{"name":"sPlayerAttack","path":"sprites/sPlayerAttack/sPlayerAttack.yy",},},
     {"id":{"name":"sPlayerDash","path":"sprites/sPlayerDash/sPlayerDash.yy",},},
+    {"id":{"name":"sPlayerDeath","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},},
     {"id":{"name":"sPlayerDodge","path":"sprites/sPlayerDodge/sPlayerDodge.yy",},},
     {"id":{"name":"sPlayerDodgeEnding","path":"sprites/sPlayerDodgeEnding/sPlayerDodgeEnding.yy",},},
     {"id":{"name":"sPlayerDodgeWait","path":"sprites/sPlayerDodgeWait/sPlayerDodgeWait.yy",},},
@@ -115,6 +119,7 @@
     {"id":{"name":"sPlayerWalk","path":"sprites/sPlayerWalk/sPlayerWalk.yy",},},
     {"id":{"name":"sPlayerWall","path":"sprites/sPlayerWall/sPlayerWall.yy",},},
     {"id":{"name":"sSavePoint","path":"sprites/sSavePoint/sSavePoint.yy",},},
+    {"id":{"name":"sSlicedApple","path":"sprites/sSlicedApple/sSlicedApple.yy",},},
     {"id":{"name":"sSpike","path":"sprites/sSpike/sSpike.yy",},},
   ],
   "resourceType":"GMProject",

+ 11 - 1
notes/必读(更新日志)/必读(更新日志).txt

@@ -140,4 +140,14 @@ global.player是游戏内玩家inst_id
 鉴于gml的obj和inst转换尚不明确,此变量和相似变量为快速找到指定关键inst而提出
 稍后优化
 
-8. 注意今日代码存档相关有巨量未完成部分,慎重运行修改!!明天解决!!
+8. 注意今日代码存档相关有巨量未完成部分,慎重运行修改!!明天解决!!
+
+2025/2/18 DrDuck
+
+1. 之后所有测试请用vk_escape在rTitle房间退出,与标准游戏流程相符。
+特别是在做存读档相关测试时,一定不要用alt+f4/任务管理器/右上角等方式退出。
+可以在rTitle房间看到更为详尽的操作指导。
+
+2. 考虑加入音乐/粒子效果接口。先不做。
+
+3. 状态机优化写到一半,先别动

+ 5 - 0
objects/oCredit/Collision_oPlayer.gml

@@ -0,0 +1,5 @@
+if pickup_timer < 0
+{
+	global.save_data.player.Credit++;
+	instance_destroy();
+}

+ 6 - 0
objects/oCredit/Create_0.gml

@@ -0,0 +1,6 @@
+x_spd = random_range(-3, 3);
+y_spd = random_range(-15, -5);
+
+restitution = 0.5; // 弹力系数
+
+pickup_timer = 20; // 最快拾取时间(可选)

+ 30 - 0
objects/oCredit/Step_0.gml

@@ -0,0 +1,30 @@
+image_angle++;
+y_spd += global.g;
+
+if place_meeting(x, y + y_spd, oParentSolid)
+{
+    while !place_meeting(x, y + sign(y_spd), oParentSolid)
+        y += sign(y_spd);
+    
+    if y_spd > 2
+	{
+        y_spd *= -restitution;
+		x_spd *= restitution;
+	} // 落地反弹
+	else
+	{
+        y_spd = 0;
+		x_spd = 0;
+	}
+}
+y += y_spd;
+
+if place_meeting(x + x_spd, y, oParentSolid)
+{
+    while !place_meeting(x + sign(x_spd), y, oParentSolid)
+        x += sign(x_spd);
+    x_spd *= restitution; // 撞墙反弹
+}
+x += x_spd;
+
+pickup_timer--;

+ 40 - 0
objects/oCredit/oCredit.yy

@@ -0,0 +1,40 @@
+{
+  "$GMObject":"",
+  "%Name":"oCredit",
+  "eventList":[
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":{"name":"oPlayer","path":"objects/oPlayer/oPlayer.yy",},"eventNum":0,"eventType":4,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+  ],
+  "managed":true,
+  "name":"oCredit",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"CollectableObjects",
+    "path":"folders/StationaryObjects/CollectableObjects.yy",
+  },
+  "parentObjectId":null,
+  "persistent":false,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":{
+    "name":"sCredit",
+    "path":"sprites/sCredit/sCredit.yy",
+  },
+  "spriteMaskId":null,
+  "visible":true,
+}

+ 2 - 0
objects/oEnemyCrawl/Create_0.gml

@@ -3,6 +3,8 @@ event_inherited();
 walk_spd = 2.5;
 hp = 15;
 
+credit = 10;
+
 enemy_ai = enemy_crawl_ai;
 
 hitbox = enemy_create_hitbox(48, 48);

+ 1 - 1
objects/oInGameManager/Create_0.gml

@@ -9,7 +9,7 @@ global.hitstop = 0;
 global.time_scale = 1.0;
 
 // player status
-global.playerHP = 5;
+global.playerHP = global.save_data.player.maxHP;
 global.playerINK = 0;
 
 // room transiting

+ 13 - 17
objects/oMain/Step_0.gml

@@ -15,37 +15,33 @@ _return = ingame.kcp(vk_backspace);
 
 if global.developer_mode && room == rTitle
 {
-	if oInput._newgame
+	if _newgame
 	{
-		oInput.title.destroy();
-		global.save_data = get_default_save_data();
+		title.destroy();
 		
-		room_goto(asset_get_index(global.save_data.world.current_room));
+		global.save_data = get_default_save_data();
+		save_game_to_disk();
 		
-		global.in_game_manager = icl(oInGameManager);
+		load_game_from_disk();
 	}
-	if oInput._continue
+	if _continue
 	{
-		oInput.title.destroy();
-		load_game_from_disk();
-		
-		room_goto(asset_get_index(global.save_data.world.current_room));
+		title.destroy();
 		
-		global.in_game_manager = icl(oInGameManager);
+		load_game_from_disk();
 	}
-	if oInput._quitgame
+	if _quitgame
 		game_end();
 }
 if global.developer_mode && room != rTitle
-	if oInput._return
+	if _return
 	{
 		save_game_to_disk();
 		room_goto(rTitle);
 		
 		with(global.camera) instance_destroy();
 		with(global.player) instance_destroy();
-		with(oInput)
-		{
-			title = new input_handle("title", 10);
-		}
+		with(global.in_game_manager) instance_destroy();
+		
+		title = new input_handle("title", 10);
 	}

+ 9 - 0
objects/oParentCollectable/Collision_oPlayer.gml

@@ -0,0 +1,9 @@
+var _list = global.save_data.world.destroyed_objects;
+
+_list[$ uuid] = true;
+
+callback();
+
+save_game_to_disk();
+
+instance_destroy();

+ 4 - 4
objects/oParentCollectable/Create_0.gml

@@ -1,4 +1,4 @@
-var _my_id = uuid;
-
-if struct_exists(global.save_data.world.destroyed_objects, _my_id)
-    instance_destroy();
+if struct_exists(global.save_data.world.destroyed_objects, uuid)
+    instance_destroy();
+	
+callback = function(){};

+ 1 - 0
objects/oParentCollectable/oParentCollectable.yy

@@ -3,6 +3,7 @@
   "%Name":"oParentCollectable",
   "eventList":[
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":{"name":"oPlayer","path":"objects/oPlayer/oPlayer.yy",},"eventNum":0,"eventType":4,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   "managed":true,
   "name":"oParentCollectable",

+ 2 - 0
objects/oParentEnemy/Create_0.gml

@@ -2,6 +2,8 @@ x_spd = 0;
 y_spd = 0;
 facing = 1;
 
+credit = 0;
+
 hp = 1;
 
 hitstun_timer = 0;

+ 2 - 0
objects/oParentEnemy/Destroy_0.gml

@@ -0,0 +1,2 @@
+for(var i = 0; i < credit; i++)
+	icl(oCredit);

+ 1 - 0
objects/oParentEnemy/oParentEnemy.yy

@@ -6,6 +6,7 @@
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":12,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":1,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   "managed":true,
   "name":"oParentEnemy",

+ 1 - 1
objects/oParentInteractive/Step_0.gml

@@ -9,7 +9,7 @@ if instance_exists(_player)
 		if _indicator.image_index < _indicator.image_number - 0.25
 			_indicator.image_index += 0.25;
 
-		else if oInput._up || oInput._down
+		else if oMain._up || oMain._down
 			callback();
     }
 	else if _indicator.image_index > 0

+ 3 - 1
objects/oPlayer/Create_0.gml

@@ -53,4 +53,6 @@ enter_room_timer = 0;
 enter_room_timer_max = 24;
 
 jump_buffer_timer = 0;
-jump_buffer_max = 6;
+jump_buffer_max = 6;
+
+locked_timer = 0;

+ 1 - 2
objects/oPlayer/Step_0.gml

@@ -5,8 +5,7 @@ player_status_update();
 
 player_check_door();
 player_check_attacked();
-if !(state == state_hitstun_hazard || state == state_locked)
-	player_check_hazard(); //需要优化
+player_check_hazard();
 
 state();
 

+ 6 - 0
objects/oSlicedApple/Create_0.gml

@@ -0,0 +1,6 @@
+event_inherited();
+
+callback = function()
+{
+	global.save_data.player.maxHP++;
+}

+ 41 - 0
objects/oSlicedApple/oSlicedApple.yy

@@ -0,0 +1,41 @@
+{
+  "$GMObject":"",
+  "%Name":"oSlicedApple",
+  "eventList":[
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+  ],
+  "managed":true,
+  "name":"oSlicedApple",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"CollectableObjects",
+    "path":"folders/StationaryObjects/CollectableObjects.yy",
+  },
+  "parentObjectId":{
+    "name":"oParentCollectable",
+    "path":"objects/oParentCollectable/oParentCollectable.yy",
+  },
+  "persistent":false,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":{
+    "name":"sSlicedApple",
+    "path":"sprites/sSlicedApple/sSlicedApple.yy",
+  },
+  "spriteMaskId":null,
+  "visible":true,
+}

+ 4 - 0
rooms/rTest_1/rTest_1.yy

@@ -515,6 +515,7 @@
     {"name":"inst_4386D1B8","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_69C973EB","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_10A9A902","path":"rooms/rTest_1/rTest_1.yy",},
+    {"name":"inst_4F0A848A","path":"rooms/rTest_1/rTest_1.yy",},
   ],
   "isDnd":false,
   "layers":[
@@ -1038,6 +1039,9 @@
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"RIGHT",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest_2","path":"rooms/rTest_2/rTest_2.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest_2",},
           ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":-64.0,"y":1536.0,},
+        {"$GMRInstance":"v4","%Name":"inst_4F0A848A","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4F0A848A","objectId":{"name":"oSlicedApple","path":"objects/oSlicedApple/oSlicedApple.yy",},"properties":[
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oParentCollectable","path":"objects/oParentCollectable/oParentCollectable.yy",},"propertyId":{"name":"uuid","path":"objects/oParentCollectable/oParentCollectable.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest_1_sa",},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":128.0,"y":320.0,},
       ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
     {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,},
   ],

+ 44 - 5
scripts/PlayerStates/PlayerStates.gml

@@ -183,6 +183,15 @@ function player_check_dodge()
 		_hb.y_offset = 40;
 	}
 }
+function player_check_death()
+{
+	if global.playerHP <= 0
+	{
+		save_game_to_disk();
+		state = state_death;
+		set_sprite(sPlayerDeath);
+	}
+}
 
 function player_check_door()
 {
@@ -261,6 +270,7 @@ function state_exit_door()
 function player_check_attacked()
 {
 	if current_attacker == noone || invincible_timer > 0
+	|| state == state_death
 	//|| (state == state_dodge && dodge_phase == "WAIT")
 		return;
 	
@@ -283,7 +293,8 @@ function player_check_attacked()
 }
 function player_check_hazard()
 {
-	if current_hazard == noone
+	if current_hazard == noone ||
+	state == state_hitstun_hazard || state == state_death
 		return;
     
     global.playerHP -= current_hazard.damage;
@@ -310,6 +321,8 @@ function state_hitstun_attacked()
 	
 	if animation_end()
 		state = state_free;
+	
+	player_check_death();
 }
 function state_hitstun_hazard()
 {
@@ -318,16 +331,17 @@ function state_hitstun_hazard()
 	
 	if animation_end()
 	{
-		alarm[1] = 60;
 		state = state_locked;
+		locked_timer = 60;
 		var _fade = icl(oFade);
 		_fade._callback = function()
 		{
 			oPlayer.x = 160;//oPlayer.last_safe_x;
-			oPlayer.y = 2016 - 540;//oPlayer.last_safe_y;
+			oPlayer.y = 2016 - 540 + 64;//oPlayer.last_safe_y;
 			camera_snap();
 		};
 	}
+	player_check_death();
 }
 
 function state_free()
@@ -363,11 +377,11 @@ function state_free()
 	player_check_dodge();
 	if state == state_dodge return;
 	*/
-	
 	player_check_movement();
 	player_check_dash();
 	player_check_jump();
 	player_check_attack();
+	player_check_death();
 }
 function state_dash()
 {
@@ -385,12 +399,14 @@ function state_dash()
     }
 	
 	//player_check_dodge();
+	player_check_death();
 }
 function state_attack()
 {
 	player_check_movement();
 	player_check_jump();
 	player_check_dash();
+	player_check_death();
 	
     y_spd += player_calc_gravity();
 	
@@ -426,8 +442,31 @@ function state_attack()
 }
 function state_locked()
 {
+	locked_timer -= global.time_scale;
+	
 	x_spd = 0;
-	y_spd += player_calc_gravity();
+	y_spd = 0;
+	
+	if locked_timer <= 0
+		state = state_free;
+}
+function state_death()
+{
+	x_spd = 0;
+	y_spd = 0;
+	if animation_end()
+	{
+		global.playerHP = global.save_data.player.maxHP;
+		
+		state = state_locked;
+		locked_timer = 120;
+		
+		var _fade = icl(oFade);
+		_fade._callback = function()
+		{
+			room_goto(asset_get_index(global.save_data.world.current_room));
+		}
+	}
 }
 
 /// @desc 返回基于玩家当前状态的重力值,注意不会自动赋值

+ 5 - 3
scripts/SL/SL.gml

@@ -48,7 +48,7 @@ function save_game_to_disk()
 function load_game_from_disk()
 {
 	if !file_exists(global.save_filename)
-		return false;
+		return;
 		
 	// 使用buffer读取
 	var _buffer = buffer_load(global.save_filename);
@@ -61,5 +61,7 @@ function load_game_from_disk()
     // 覆盖当前的全局存档数据
     global.save_data = _loaded_data;
     
-	return true;
-}
+	room_goto(asset_get_index(global.save_data.world.current_room));
+	
+	global.in_game_manager = icl(oInGameManager);
+}

BIN
sprites/sCredit/a61051d0-0c51-4ad3-86f8-52d73edb9e0f.png


BIN
sprites/sCredit/layers/a61051d0-0c51-4ad3-86f8-52d73edb9e0f/a88dd50e-6f03-4d53-a1ff-b8efc1febf11.png


+ 90 - 0
sprites/sCredit/sCredit.yy

@@ -0,0 +1,90 @@
+{
+  "$GMSprite":"v2",
+  "%Name":"sCredit",
+  "bboxMode":0,
+  "bbox_bottom":49,
+  "bbox_left":0,
+  "bbox_right":49,
+  "bbox_top":0,
+  "collisionKind":1,
+  "collisionTolerance":0,
+  "DynamicTexturePage":false,
+  "edgeFiltering":false,
+  "For3D":false,
+  "frames":[
+    {"$GMSpriteFrame":"v1","%Name":"a61051d0-0c51-4ad3-86f8-52d73edb9e0f","name":"a61051d0-0c51-4ad3-86f8-52d73edb9e0f","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+  ],
+  "gridX":0,
+  "gridY":0,
+  "height":50,
+  "HTile":false,
+  "layers":[
+    {"$GMImageLayer":"","%Name":"a88dd50e-6f03-4d53-a1ff-b8efc1febf11","blendMode":0,"displayName":"default","isLocked":false,"name":"a88dd50e-6f03-4d53-a1ff-b8efc1febf11","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
+  ],
+  "name":"sCredit",
+  "nineSlice":null,
+  "origin":4,
+  "parent":{
+    "name":"UIsprite",
+    "path":"folders/UIsprite.yy",
+  },
+  "preMultiplyAlpha":false,
+  "resourceType":"GMSprite",
+  "resourceVersion":"2.0",
+  "sequence":{
+    "$GMSequence":"v1",
+    "%Name":"sCredit",
+    "autoRecord":true,
+    "backdropHeight":768,
+    "backdropImageOpacity":0.5,
+    "backdropImagePath":"",
+    "backdropWidth":1366,
+    "backdropXOffset":0.0,
+    "backdropYOffset":0.0,
+    "events":{
+      "$KeyframeStore<MessageEventKeyframe>":"",
+      "Keyframes":[],
+      "resourceType":"KeyframeStore<MessageEventKeyframe>",
+      "resourceVersion":"2.0",
+    },
+    "eventStubScript":null,
+    "eventToFunction":{},
+    "length":1.0,
+    "lockOrigin":false,
+    "moments":{
+      "$KeyframeStore<MomentsEventKeyframe>":"",
+      "Keyframes":[],
+      "resourceType":"KeyframeStore<MomentsEventKeyframe>",
+      "resourceVersion":"2.0",
+    },
+    "name":"sCredit",
+    "playback":1,
+    "playbackSpeed":30.0,
+    "playbackSpeedType":0,
+    "resourceType":"GMSequence",
+    "resourceVersion":"2.0",
+    "showBackdrop":true,
+    "showBackdropImage":false,
+    "timeUnits":1,
+    "tracks":[
+      {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"a61051d0-0c51-4ad3-86f8-52d73edb9e0f","path":"sprites/sCredit/sCredit.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"6c00f054-bb4c-4af8-ac57-fcecaa67b07d","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+          ],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
+    ],
+    "visibleRange":null,
+    "volume":1.0,
+    "xorigin":25,
+    "yorigin":25,
+  },
+  "swatchColours":null,
+  "swfPrecision":0.5,
+  "textureGroupId":{
+    "name":"Default",
+    "path":"texturegroups/Default",
+  },
+  "type":0,
+  "VTile":false,
+  "width":50,
+}

BIN
sprites/sPlayerDeath/1f35ea38-ff95-41e1-9957-f848343bcb44.png


BIN
sprites/sPlayerDeath/2c23944c-aec4-4384-ae56-bcb5d5054429.png


BIN
sprites/sPlayerDeath/3394bbc7-82d0-4e5d-a236-9c4e8bcc79b5.png


BIN
sprites/sPlayerDeath/4bcd4533-69fe-4a79-90a8-c5657a887a46.png


BIN
sprites/sPlayerDeath/72f5149d-1e45-4fcd-b0e5-91b00da6c9b4.png


BIN
sprites/sPlayerDeath/8efdfcb4-637d-44c6-9028-a9ec4c30435c.png


BIN
sprites/sPlayerDeath/aa4297c7-4744-4b2b-88b9-d9241f102cba.png


BIN
sprites/sPlayerDeath/aad3a77b-5f07-4a2f-8b97-3c6c625072f0.png


BIN
sprites/sPlayerDeath/b61db9a0-df4d-427b-bf24-6cc731506d33.png


BIN
sprites/sPlayerDeath/be6ece33-3b72-476c-8eaf-d6bb5d4575b3.png


BIN
sprites/sPlayerDeath/c13c3aa8-cfa7-44db-8808-f1d4a448fc41.png


BIN
sprites/sPlayerDeath/c3a5edae-6658-4a95-bc06-7e7f19eced08.png


BIN
sprites/sPlayerDeath/c5d44fa5-d96c-487d-bddf-77cad6272ecf.png


BIN
sprites/sPlayerDeath/cda145ee-2907-4c9f-a808-96b0a4c4df0e.png


BIN
sprites/sPlayerDeath/d0e37413-bb00-48fd-aa74-37842ae04a70.png


BIN
sprites/sPlayerDeath/layers/1f35ea38-ff95-41e1-9957-f848343bcb44/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/2c23944c-aec4-4384-ae56-bcb5d5054429/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/3394bbc7-82d0-4e5d-a236-9c4e8bcc79b5/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/4bcd4533-69fe-4a79-90a8-c5657a887a46/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/72f5149d-1e45-4fcd-b0e5-91b00da6c9b4/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/8efdfcb4-637d-44c6-9028-a9ec4c30435c/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/aa4297c7-4744-4b2b-88b9-d9241f102cba/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/aad3a77b-5f07-4a2f-8b97-3c6c625072f0/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/b61db9a0-df4d-427b-bf24-6cc731506d33/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/be6ece33-3b72-476c-8eaf-d6bb5d4575b3/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/c13c3aa8-cfa7-44db-8808-f1d4a448fc41/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/c3a5edae-6658-4a95-bc06-7e7f19eced08/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/c5d44fa5-d96c-487d-bddf-77cad6272ecf/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/cda145ee-2907-4c9f-a808-96b0a4c4df0e/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


BIN
sprites/sPlayerDeath/layers/d0e37413-bb00-48fd-aa74-37842ae04a70/21d8bf7d-8959-4267-a6af-fcedb5d5d32f.png


+ 146 - 0
sprites/sPlayerDeath/sPlayerDeath.yy

@@ -0,0 +1,146 @@
+{
+  "$GMSprite":"v2",
+  "%Name":"sPlayerDeath",
+  "bboxMode":1,
+  "bbox_bottom":127,
+  "bbox_left":0,
+  "bbox_right":71,
+  "bbox_top":0,
+  "collisionKind":1,
+  "collisionTolerance":0,
+  "DynamicTexturePage":false,
+  "edgeFiltering":false,
+  "For3D":false,
+  "frames":[
+    {"$GMSpriteFrame":"v1","%Name":"c5d44fa5-d96c-487d-bddf-77cad6272ecf","name":"c5d44fa5-d96c-487d-bddf-77cad6272ecf","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"c13c3aa8-cfa7-44db-8808-f1d4a448fc41","name":"c13c3aa8-cfa7-44db-8808-f1d4a448fc41","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"2c23944c-aec4-4384-ae56-bcb5d5054429","name":"2c23944c-aec4-4384-ae56-bcb5d5054429","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"aad3a77b-5f07-4a2f-8b97-3c6c625072f0","name":"aad3a77b-5f07-4a2f-8b97-3c6c625072f0","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"aa4297c7-4744-4b2b-88b9-d9241f102cba","name":"aa4297c7-4744-4b2b-88b9-d9241f102cba","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"1f35ea38-ff95-41e1-9957-f848343bcb44","name":"1f35ea38-ff95-41e1-9957-f848343bcb44","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"c3a5edae-6658-4a95-bc06-7e7f19eced08","name":"c3a5edae-6658-4a95-bc06-7e7f19eced08","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"be6ece33-3b72-476c-8eaf-d6bb5d4575b3","name":"be6ece33-3b72-476c-8eaf-d6bb5d4575b3","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"b61db9a0-df4d-427b-bf24-6cc731506d33","name":"b61db9a0-df4d-427b-bf24-6cc731506d33","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"3394bbc7-82d0-4e5d-a236-9c4e8bcc79b5","name":"3394bbc7-82d0-4e5d-a236-9c4e8bcc79b5","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"cda145ee-2907-4c9f-a808-96b0a4c4df0e","name":"cda145ee-2907-4c9f-a808-96b0a4c4df0e","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"72f5149d-1e45-4fcd-b0e5-91b00da6c9b4","name":"72f5149d-1e45-4fcd-b0e5-91b00da6c9b4","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"d0e37413-bb00-48fd-aa74-37842ae04a70","name":"d0e37413-bb00-48fd-aa74-37842ae04a70","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"4bcd4533-69fe-4a79-90a8-c5657a887a46","name":"4bcd4533-69fe-4a79-90a8-c5657a887a46","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"8efdfcb4-637d-44c6-9028-a9ec4c30435c","name":"8efdfcb4-637d-44c6-9028-a9ec4c30435c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+  ],
+  "gridX":0,
+  "gridY":0,
+  "height":128,
+  "HTile":false,
+  "layers":[
+    {"$GMImageLayer":"","%Name":"21d8bf7d-8959-4267-a6af-fcedb5d5d32f","blendMode":0,"displayName":"default","isLocked":false,"name":"21d8bf7d-8959-4267-a6af-fcedb5d5d32f","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
+  ],
+  "name":"sPlayerDeath",
+  "nineSlice":null,
+  "origin":7,
+  "parent":{
+    "name":"Sprites",
+    "path":"folders/Player/Sprites.yy",
+  },
+  "preMultiplyAlpha":false,
+  "resourceType":"GMSprite",
+  "resourceVersion":"2.0",
+  "sequence":{
+    "$GMSequence":"v1",
+    "%Name":"sPlayerDeath",
+    "autoRecord":true,
+    "backdropHeight":768,
+    "backdropImageOpacity":0.5,
+    "backdropImagePath":"",
+    "backdropWidth":1366,
+    "backdropXOffset":0.0,
+    "backdropYOffset":0.0,
+    "events":{
+      "$KeyframeStore<MessageEventKeyframe>":"",
+      "Keyframes":[],
+      "resourceType":"KeyframeStore<MessageEventKeyframe>",
+      "resourceVersion":"2.0",
+    },
+    "eventStubScript":null,
+    "eventToFunction":{},
+    "length":15.0,
+    "lockOrigin":false,
+    "moments":{
+      "$KeyframeStore<MomentsEventKeyframe>":"",
+      "Keyframes":[],
+      "resourceType":"KeyframeStore<MomentsEventKeyframe>",
+      "resourceVersion":"2.0",
+    },
+    "name":"sPlayerDeath",
+    "playback":1,
+    "playbackSpeed":60.0,
+    "playbackSpeedType":0,
+    "resourceType":"GMSequence",
+    "resourceVersion":"2.0",
+    "showBackdrop":true,
+    "showBackdropImage":false,
+    "timeUnits":1,
+    "tracks":[
+      {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"c5d44fa5-d96c-487d-bddf-77cad6272ecf","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"54aef927-d91d-400b-b504-9ec17ad6b802","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"c13c3aa8-cfa7-44db-8808-f1d4a448fc41","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"f2f895df-a1cd-4b07-b2c2-dbe48c12c662","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"2c23944c-aec4-4384-ae56-bcb5d5054429","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"eb96dd54-13a3-458d-b303-66b3f9a1fe74","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"aad3a77b-5f07-4a2f-8b97-3c6c625072f0","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"851899ff-c5eb-42b3-b18b-486c4c5947b5","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"aa4297c7-4744-4b2b-88b9-d9241f102cba","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"12af99af-7b96-43db-bf90-0222c72d3b58","IsCreationKey":false,"Key":4.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"1f35ea38-ff95-41e1-9957-f848343bcb44","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"b8d65b58-5618-48bf-b200-284529f76045","IsCreationKey":false,"Key":5.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"c3a5edae-6658-4a95-bc06-7e7f19eced08","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"50dd35c3-aab1-4933-ba9d-93817f92012c","IsCreationKey":false,"Key":6.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"be6ece33-3b72-476c-8eaf-d6bb5d4575b3","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"b11030a8-9d6d-4152-afff-bceb830afae4","IsCreationKey":false,"Key":7.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"b61db9a0-df4d-427b-bf24-6cc731506d33","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"3d6e67ce-ae84-49fa-8ef8-d44e085175b3","IsCreationKey":false,"Key":8.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"3394bbc7-82d0-4e5d-a236-9c4e8bcc79b5","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"22ded7de-2c91-4154-9bf6-e213665e8e51","IsCreationKey":false,"Key":9.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"cda145ee-2907-4c9f-a808-96b0a4c4df0e","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"fdda9b15-c43d-4819-a9e7-a2072367ec96","IsCreationKey":false,"Key":10.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"72f5149d-1e45-4fcd-b0e5-91b00da6c9b4","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"d9afa43c-2c1c-4000-b560-892e3c3aa668","IsCreationKey":false,"Key":11.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d0e37413-bb00-48fd-aa74-37842ae04a70","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"3c60f73e-ae15-4545-8dcb-51100dcfb71d","IsCreationKey":false,"Key":12.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"4bcd4533-69fe-4a79-90a8-c5657a887a46","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"4ebb7b4e-ad3c-4920-89de-5e63bad6682e","IsCreationKey":false,"Key":13.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"8efdfcb4-637d-44c6-9028-a9ec4c30435c","path":"sprites/sPlayerDeath/sPlayerDeath.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"656855d2-83f0-47f6-b735-38c4c612575b","IsCreationKey":false,"Key":14.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+          ],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
+    ],
+    "visibleRange":null,
+    "volume":1.0,
+    "xorigin":36,
+    "yorigin":128,
+  },
+  "swatchColours":null,
+  "swfPrecision":0.5,
+  "textureGroupId":{
+    "name":"Default",
+    "path":"texturegroups/Default",
+  },
+  "type":0,
+  "VTile":false,
+  "width":72,
+}

BIN
sprites/sSlicedApple/68a31352-75ab-4b39-9342-16c96466c068.png


BIN
sprites/sSlicedApple/layers/68a31352-75ab-4b39-9342-16c96466c068/39a9e008-688b-420a-a81e-890b87de9ca8.png


+ 90 - 0
sprites/sSlicedApple/sSlicedApple.yy

@@ -0,0 +1,90 @@
+{
+  "$GMSprite":"v2",
+  "%Name":"sSlicedApple",
+  "bboxMode":0,
+  "bbox_bottom":159,
+  "bbox_left":21,
+  "bbox_right":140,
+  "bbox_top":20,
+  "collisionKind":4,
+  "collisionTolerance":0,
+  "DynamicTexturePage":false,
+  "edgeFiltering":false,
+  "For3D":false,
+  "frames":[
+    {"$GMSpriteFrame":"v1","%Name":"68a31352-75ab-4b39-9342-16c96466c068","name":"68a31352-75ab-4b39-9342-16c96466c068","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+  ],
+  "gridX":0,
+  "gridY":0,
+  "height":160,
+  "HTile":false,
+  "layers":[
+    {"$GMImageLayer":"","%Name":"39a9e008-688b-420a-a81e-890b87de9ca8","blendMode":0,"displayName":"default","isLocked":false,"name":"39a9e008-688b-420a-a81e-890b87de9ca8","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
+  ],
+  "name":"sSlicedApple",
+  "nineSlice":null,
+  "origin":4,
+  "parent":{
+    "name":"UIsprite",
+    "path":"folders/UIsprite.yy",
+  },
+  "preMultiplyAlpha":false,
+  "resourceType":"GMSprite",
+  "resourceVersion":"2.0",
+  "sequence":{
+    "$GMSequence":"v1",
+    "%Name":"sSlicedApple",
+    "autoRecord":true,
+    "backdropHeight":768,
+    "backdropImageOpacity":0.5,
+    "backdropImagePath":"",
+    "backdropWidth":1366,
+    "backdropXOffset":0.0,
+    "backdropYOffset":0.0,
+    "events":{
+      "$KeyframeStore<MessageEventKeyframe>":"",
+      "Keyframes":[],
+      "resourceType":"KeyframeStore<MessageEventKeyframe>",
+      "resourceVersion":"2.0",
+    },
+    "eventStubScript":null,
+    "eventToFunction":{},
+    "length":1.0,
+    "lockOrigin":false,
+    "moments":{
+      "$KeyframeStore<MomentsEventKeyframe>":"",
+      "Keyframes":[],
+      "resourceType":"KeyframeStore<MomentsEventKeyframe>",
+      "resourceVersion":"2.0",
+    },
+    "name":"sSlicedApple",
+    "playback":1,
+    "playbackSpeed":30.0,
+    "playbackSpeedType":0,
+    "resourceType":"GMSequence",
+    "resourceVersion":"2.0",
+    "showBackdrop":true,
+    "showBackdropImage":false,
+    "timeUnits":1,
+    "tracks":[
+      {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"68a31352-75ab-4b39-9342-16c96466c068","path":"sprites/sSlicedApple/sSlicedApple.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"66a252db-c64e-42ed-ab00-9d5c361cc286","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+          ],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
+    ],
+    "visibleRange":null,
+    "volume":1.0,
+    "xorigin":80,
+    "yorigin":80,
+  },
+  "swatchColours":null,
+  "swfPrecision":0.5,
+  "textureGroupId":{
+    "name":"Default",
+    "path":"texturegroups/Default",
+  },
+  "type":0,
+  "VTile":false,
+  "width":160,
+}