diff options
| author | Arslaan Pathan <[email protected]> | 2025-06-14 22:15:33 +1200 |
|---|---|---|
| committer | Arslaan Pathan <[email protected]> | 2025-06-14 22:15:33 +1200 |
| commit | 890e67384706f67fd1a229366e45ca2effd7139a (patch) | |
| tree | 8d073c54c8fe60651b56b7d5c6aaf83a3a5d611e /assets/scripts | |
| parent | 50bc5a34d94580aa0836622d4328a43310eddb7f (diff) | |
| download | showdownofthesticks-890e67384706f67fd1a229366e45ca2effd7139a.tar.xz showdownofthesticks-890e67384706f67fd1a229366e45ca2effd7139a.zip | |
Partially implement Local2P
Diffstat (limited to 'assets/scripts')
| -rw-r--r-- | assets/scripts/character-select.lua | 12 | ||||
| -rw-r--r-- | assets/scripts/local2P.lua | 31 |
2 files changed, 38 insertions, 5 deletions
diff --git a/assets/scripts/character-select.lua b/assets/scripts/character-select.lua index 1ea39d7..06ee574 100644 --- a/assets/scripts/character-select.lua +++ b/assets/scripts/character-select.lua @@ -1,11 +1,13 @@ ---@diagnostic disable: undefined-global -characters = {"Cobalt Phantom", "Emerald Venom", "Golden Radiance", "Crimson Reaper"} +characters = require("assets.characters.characters-data") + player1CharacterIndex = 1 player2CharacterIndex = 2 player1Character = characters[player1CharacterIndex] player2Character = characters[player2CharacterIndex] + function StartGame() if characterSelectType == "Local 2P" then dofile("assets/scripts/local2P.lua") @@ -56,8 +58,8 @@ function Update() queueTextForRender(text, fontFile, x, y, fontSize, 255, 255, 255, 255) -- Character Portraits & Names - local imageFile_player1 = "assets/characters/" .. player1Character .. "/portrait.png" - local imageFile_player2 = "assets/characters/" .. player2Character .. "/portrait.png" + local imageFile_player1 = player1Character.asset_dir .. "/portrait.png" + local imageFile_player2 = player2Character.asset_dir .. "/portrait.png" local portraitWidth = 128 @@ -67,7 +69,7 @@ function Update() local p1_x = (WIDTH // 4) - (portraitWidth // 2) queueTextureForRender(imageFile_player1, p1_x, 300) - local p1Name = player1Character + local p1Name = player1Character.name local p1NameWidth = getTextWidth(nameFontFile, nameFontSize, p1Name) local p1TextX = (WIDTH // 4) - (p1NameWidth // 2) queueTextForRender(p1Name, nameFontFile, p1TextX, 570, nameFontSize, 255, 255, 255, 255) @@ -75,7 +77,7 @@ function Update() local p2_x = (WIDTH * 3 // 4) - (portraitWidth // 2) queueTextureForRender(imageFile_player2, p2_x, 300) - local p2Name = player2Character + local p2Name = player2Character.name local p2NameWidth = getTextWidth(nameFontFile, nameFontSize, p2Name) local p2TextX = (WIDTH * 3 // 4) - (p2NameWidth // 2) queueTextForRender(p2Name, nameFontFile, p2TextX, 570, nameFontSize, 255, 255, 255, 255) diff --git a/assets/scripts/local2P.lua b/assets/scripts/local2P.lua index f9ca84d..05d603e 100644 --- a/assets/scripts/local2P.lua +++ b/assets/scripts/local2P.lua @@ -1,6 +1,37 @@ ---@diagnostic disable: undefined-global + +function HandleP1Input() + if Input.isKeyDown("D") then + player1Character.x = player1Character.x + player1Character.speed; + end + if Input.isKeyDown("A") then + player1Character.x = player1Character.x - player1Character.speed; + end +end + +function HandleP2Input() + if Input.isKeyDown("RIGHT") then + player2Character.x = player2Character.x + player2Character.speed; + end + if Input.isKeyDown("LEFT") then + player2Character.x = player2Character.x - player2Character.speed; + end +end + function Setup() + player1Character.x = 250; + player2Character.x = WIDTH - 250 - (250 / 2) + player1Character.y = 250; + player2Character.y = 250; + + player1Character.current_sprite = player1Character.asset_dir .. "/sprites/idle.png" + player2Character.current_sprite = player2Character.asset_dir .. "/sprites/idle.png" end function Update() + queueTextureForRender(player1Character.current_sprite, player1Character.x, player1Character.y) + queueTextureForRender(player2Character.current_sprite, player2Character.x, player2Character.y) + + HandleP1Input() + HandleP2Input() end |
