From 21740b83492b8ba27a842f4eeb8ab3d0b89a3341 Mon Sep 17 00:00:00 2001 From: VisualGMQ <2142587070@qq.com> Date: Sat, 6 Aug 2022 00:32:20 +0800 Subject: [PATCH] add some hint icon --- game/constants.lua | 8 +++-- game/content.lua | 5 +++ game/ecs.lua | 1 - game/main.lua | 60 +++++++++++++++++++++++++++++++++-- game/resources/hprecover.wav | Bin 0 -> 18064 bytes game/resources/pickupgun.wav | Bin 0 -> 16200 bytes game/resources/tilesheet.png | Bin 7767 -> 8112 bytes 7 files changed, 67 insertions(+), 7 deletions(-) create mode 100644 game/resources/hprecover.wav create mode 100644 game/resources/pickupgun.wav diff --git a/game/constants.lua b/game/constants.lua index 11b466e..e26dc39 100644 --- a/game/constants.lua +++ b/game/constants.lua @@ -7,6 +7,8 @@ _M.SoundName = { PlayerHurt = "PLAYER_HURT", MonsterHurt = "MONSTER_HURT", GameOver = "GAMEOVER", + HpRecover = "HPRECOVER", + PickupGun = "PickupGun", } _M.TileSize = 32 @@ -90,7 +92,7 @@ _M.RoleState = { Ice = 2, Fire = 3, } -_M.SupplyFalldownKillNum = 120 +_M.SupplyFalldownKillNum = 20 _M.SupplyType = { IceGun = 1, @@ -98,8 +100,8 @@ _M.SupplyType = { HpRecover = 3, } _M.SupplyItem = { - [_M.SupplyType.IceGun] = { num = 100 }, - [_M.SupplyType.FireGun] = { num = 100 }, + [_M.SupplyType.IceGun] = { num = 50}, + [_M.SupplyType.FireGun] = { num = 50}, [_M.SupplyType.HpRecover] = { recover = 50}, } diff --git a/game/content.lua b/game/content.lua index 9ca6b76..5e72cd1 100644 --- a/game/content.lua +++ b/game/content.lua @@ -34,11 +34,16 @@ _M.GameStateEnum = { Gaming = 3, } +_M.HpRecoverListAnim = {} + _M.GameState = _M.GameStateEnum.ShowLogo ---@type table _M.MonsterList = {} +---@type table +_M.MonsterCorpseList = {} + _M.MonsterBirthNum = 0 _M.MonsterBirthCountDown = 0 diff --git a/game/ecs.lua b/game/ecs.lua index 3ee6adb..b9cf67c 100644 --- a/game/ecs.lua +++ b/game/ecs.lua @@ -699,5 +699,4 @@ function _M.CreateSupply(type, pos) return entity end - return _M \ No newline at end of file diff --git a/game/main.lua b/game/main.lua index 5af8d48..5497471 100644 --- a/game/main.lua +++ b/game/main.lua @@ -71,6 +71,13 @@ local function updateMonster() end end +local function updateMonsterCropse() + ---@param v Entity + for _, v in pairs(content.MonsterCorpseList) do + v:Update() + end +end + local function updateSupply() ---@param v Entity for _, v in pairs(content.SupplyList) do @@ -101,7 +108,10 @@ local function collisionDeal() monsterBox.w, monsterBox.h) ---@type RolePropComponent local monsterRoleProp = monster:GetComponent(ECS.ComponentType.RoleProp) - if vmath.IsRectIntersect(playerColliBox, monsterColliBox) then + ---@type StateComponent + local mosnterState = monster:GetComponent(ECS.ComponentType.State):GetState() + + if mosnterState ~= constants.RoleState.Ice and vmath.IsRectIntersect(playerColliBox, monsterColliBox) then ---@type InvincibleComponent local playerInvincible = content.PlayerEntity:GetComponent(ECS.ComponentType.Invincible) if playerInvincible and not playerInvincible:IsInvincibleState() then @@ -155,6 +165,8 @@ local function collisionDeal() content.Score = content.Score + 1 helpfunc.IncKillNum() end + table.insert(content.MonsterCorpseList, monster) + content.MonsterList[km] = nil end end end @@ -173,8 +185,16 @@ local function collisionDeal() ---@type GunComponent local gun = content.PlayerEntity:GetComponent(ECS.ComponentType.Gun) local type = v:GetComponent(ECS.ComponentType.Supply).type - print(type) if type == constants.SupplyType.HpRecover then + local index = #content.HpRecoverListAnim + 1 + local hpRecoverAnim = animation.CreateAnimation(content.Tilesheet, { + {row = 12, col = 0, time = 0.5}, + }, function() + content.HpRecoverListAnim[index] = nil + end) + hpRecoverAnim:Play() + table.insert(content.HpRecoverListAnim, index, hpRecoverAnim) + hazel.Sound.Play(constants.SoundName.HpRecover) ---@type RolePropComponent local roleProp = content.PlayerEntity:GetComponent(ECS.ComponentType.RoleProp) roleProp.hp = roleProp.hp + constants.SupplyItem[type].recover @@ -184,9 +204,11 @@ local function collisionDeal() elseif type == constants.SupplyType.IceGun then gun:SetType(constants.BulletType.Ice) gun.bulletNum = gun.bulletNum + constants.SupplyItem[type].num + hazel.Sound.Play(constants.SoundName.PickupGun) elseif type == constants.SupplyType.FireGun then gun:SetType(constants.BulletType.Fire) gun.bulletNum = gun.bulletNum + constants.SupplyItem[type].num + hazel.Sound.Play(constants.SoundName.PickupGun) end end end @@ -218,6 +240,7 @@ end local function initGame() content.KillNum = 0 content.Score = 0 + content.HpRecoverListAnim = {} content.BulletList = {} content.MonsterList = {} content.SupplyList = {} @@ -297,6 +320,23 @@ local function drawNum(num, x, y) end end +local function updateHpRecoverAnim() + for _, ani in pairs(content.HpRecoverListAnim) do + if ani:IsPlaying() then + ani:Update() + ---@type TileSheet + local tilesheet = ani:GetTilesheet() + ---@type Frame + local frame = ani:GetCurFrame() + ---@type Point + local pos = content.PlayerEntity:GetComponent(ECS.ComponentType.Transform).position + tilesheet:Draw(frame.col, frame.row, + hazel.CreateRect(pos.x, pos.y - constants.TileSize - 5, + constants.TileSize, constants.TileSize)) + end + end +end + local function updateRoles() ---@param monster Entity for _, monster in pairs(content.MonsterList) do @@ -322,13 +362,15 @@ function GameStart() content.RestartHintTexture = hazel.LoadTexture("resources/RestartHint.png") content.LicensTexture = hazel.LoadTexture("resources/License.png") content.StartHintTexture = hazel.LoadTexture("resources/StartHint.png") - content.Tilesheet = hazel.CreateTileSheet(content.Texture, 3, 12) + content.Tilesheet = hazel.CreateTileSheet(content.Texture, 3, 13) content.NumberTexture = hazel.LoadTexture("resources/numbers.png") content.NumberTilesheet = hazel.CreateTileSheet(content.NumberTexture, 11, 1) hazel.Sound.Load("resources/gameover.wav", constants.SoundName.GameOver) hazel.Sound.Load("resources/player_hurt.wav", constants.SoundName.PlayerHurt) hazel.Sound.Load("resources/monster_hurt.wav", constants.SoundName.MonsterHurt) hazel.Sound.Load("resources/shoot.wav", constants.SoundName.Shoot) + hazel.Sound.Load("resources/hprecover.wav", constants.SoundName.HpRecover) + hazel.Sound.Load("resources/pickupgun.wav", constants.SoundName.PickupGun) initGame() @@ -373,6 +415,7 @@ function GameLoop() if content.GameState == content.GameStateEnum.WaitStart or content.GameState == content.GameStateEnum.Gaming then drawFloors() + updateMonsterCropse() updateSupply() updateMonster() content.PlayerEntity:Update() @@ -380,6 +423,7 @@ function GameLoop() collisionDeal() drawCurosr() updateRoles() + updateHpRecoverAnim() end ---@type RolePropComponent @@ -395,8 +439,18 @@ function GameLoop() ---@type GunComponent local gun = content.PlayerEntity:GetComponent(ECS.ComponentType.Gun) local x = hazel.GetCanvaSize().x - 128 + content.Tilesheet:Draw(2, 11, hazel.CreateRect(x - 64, 22, 50, 50)) drawNum(content.Score, x, 32) if gun then + ---@param type number + local type = gun.type + if type == constants.BulletType.Fire then + content.Tilesheet:Draw(1, 10, hazel.CreateRect(x - 64, 70, 50, 50)) + elseif type == constants.BulletType.Ice then + content.Tilesheet:Draw(0, 10, hazel.CreateRect(x - 64, 80, 50, 50)) + else + content.Tilesheet:Draw(1, 4, hazel.CreateRect(x - 64, 80, 50, 50)) + end drawNum(gun:GetBulletNum(), x, 80) end end diff --git a/game/resources/hprecover.wav b/game/resources/hprecover.wav new file mode 100644 index 0000000000000000000000000000000000000000..0503bcaca4ec803459b022a96d2730ae4efab0a6 GIT binary patch literal 18064 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⁢(u1Il=IA$0=3|GV{;*ba=A~_*B zp#(r9(a2Q5ncz$y0}KQMQ6Ew%i>1XbjawQA zu9n9?1suRzKmhEI+aCwrv*?HQ!xCc>V@e}SBfZ1D!;b|Y3x4PK&QCi|JFdRBzV~y- z=Z-zCds-z;lBSCd7aP=d>blLfn`?K}?5HtT8>@E!>w%ZRq?$=Jm|9Hj4|PA(L7&a7 z$*pNq%choH?Yr7ncdzbl9B3T4?RDGhSirG>??S!{nG`-L{FlgIBB8xg5mOP<2kV2q zfxm&HW6`m*fK(t4o(KOI_Al&X%*U9YqJN5p;@Xq&C*k8m$A|tA_(x!o4=_?RLg}OQ zwRE<07PJ+#WwvCtENEKLWNWZBJgI+DUshLEHwy>?;((n%czt-iTZ3D}w8m+T)lJn+ zwia89uwB?bvukG8>b})|Uq`-J0Y010>y{U92&+M=FCK8xf=a3fZQtqQ}2U_){Oa{{0FKJ&fqaoyvWfnNp; zJ%*k?JOAtyv2dSpX0KMS*8H~o zw$hH$j^Dd~?@sAY=?87I;XtoIua$l){T2i+2>dnp*We#Qe+UIF#4wPGh2My{5fK#` z6}bSI2ZRIHBCbW)!foLtVI^UwLQjR(2G<7H1=a;F^Izs4>J#d7cKq4#X9mvmUHlqo8|c_D*}Jx?9~% z>Ld02IPl{@?AO?@y%TyTfOfv`4gVYd%LA7O8iEW#HNiE(FGF622toy5%6T>PIdBCK z0sn;j6EYAy5Ddj>X`nQa8Ndwq&hI#cI9;EbYJVa))UYd&{x}E+s_(g4I)R7 zBa-ow@vReDCk%TJdmr&V;tS!yi`-tQy!oxO)&>j~$vfJa72L=NF$hkJ~(M>-eqXA9_6W zIP7`YGjc-Yg#Exfzz8UTn?N=&Pd1Q_%f^q2?S8-H(ng?oiN^aPFz95*~>c+9eY zm;Jl>>*lZf0O;ra@A+>9{#$|nR^Y!C_-_UNTY>*p;J+34Zw3Baf&W(EzZLjz1^!!s J|KBU{e*k`>4Tt~$ literal 0 HcmV?d00001 diff --git a/game/resources/pickupgun.wav b/game/resources/pickupgun.wav new file mode 100644 index 0000000000000000000000000000000000000000..0febf68c501f7c15a5bd8c68eff3323f663ca1be GIT binary patch literal 16200 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 literal 0 HcmV?d00001 diff --git a/game/resources/tilesheet.png b/game/resources/tilesheet.png index e23f347e70f0b9f85bf6effa641d8775ecf219e9..b18a221007932ec0a57a9c05ed4e1da09f3711dd 100644 GIT binary patch literal 8112 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 BB7Oh>