SHOW:
|
|
- or go back to the newest paste.
| 1 | local character = require "characters.character" | |
| 2 | local sprite = require "sprite" | |
| 3 | ||
| 4 | local resistance = {}
| |
| 5 | ||
| 6 | function resistance.HandleButtons(event, group, self) | |
| 7 | local button = event.target | |
| 8 | if event.phase == "ended" and button.type == "move" then | |
| 9 | resistance.ToggleMenu(group, self) | |
| 10 | - | local function selectMove(...) |
| 10 | + | Runtime:addEventListener("tap", self)
|
| 11 | - | Runtime:removeEventListener('tap', selectMove)
|
| 11 | + | |
| 12 | - | return resistance.Move(self, ...) |
| 12 | + | |
| 13 | - | end |
| 13 | + | |
| 14 | - | Runtime:addEventListener("tap", selectMove)
|
| 14 | + | |
| 15 | end | |
| 16 | ||
| 17 | function resistance.ToggleMenu(group, self) | |
| 18 | group.isVisible = not group.isVisible | |
| 19 | if group.isVisible then | |
| 20 | self:Animate("Selected")
| |
| 21 | else | |
| 22 | self:Animate("Stationary")
| |
| 23 | end | |
| 24 | end | |
| 25 | ||
| 26 | function resistance.Move(self, event) | |
| 27 | self:Move(math.ceil(event.x / 30), math.floor((event.y + 10) / 30)) | |
| 28 | Runtime:removeEventListener('tap', self)
| |
| 29 | return true | |
| 30 | end | |
| 31 | ||
| 32 | function resistance.Create(level, name, size, health, move, attack, defense, xTile, yTile) | |
| 33 | local group = display.newGroup() | |
| 34 | local self = character.Create(level, name, size, health, move, attack, defense, xTile, yTile) | |
| 35 | self:addEventListener("tap", function() resistance.ToggleMenu(group, self) end)
| |
| 36 | self.tap = resistance.Move | |
| 37 | local block = display.newRect(0, 0, display.contentWidth, display.contentHeight) | |
| 38 | group:insert(block) | |
| 39 | block:setFillColor(0, 0) | |
| 40 | block:addEventListener("tap", function() return true end)
| |
| 41 | local background = display.newImage(group, "visuals/resistance_background.png", 0, 0) | |
| 42 | background:setReferencePoint(display.CenterReferencePoint) | |
| 43 | background.x, background.y = display.contentWidth / 2, display.contentHeight / 2 | |
| 44 | local icon = display.newImage(group, ("visuals/character_" .. name .. "icon.png"), 145, 128)
| |
| 45 | local buttonSheet = sprite.newSpriteSheet("visuals/button_resistance.png", 60, 20)
| |
| 46 | local buttonMove = button.New(sprite.newSprite(sprite.newSpriteSet(buttonSheet, 1, 2))) | |
| 47 | group:insert(buttonMove) | |
| 48 | buttonMove:setReferencePoint(display.TopLeftReferencePoint) | |
| 49 | buttonMove.x, buttonMove.y = 145, 173 | |
| 50 | buttonMove.type = "move" | |
| 51 | buttonMove:addEventListener("Button", function(event) resistance.HandleButtons(event, group, self) end)
| |
| 52 | local buttonAttack = button.New(sprite.newSprite(sprite.newSpriteSet(buttonSheet, 3, 2))) | |
| 53 | group:insert(buttonAttack) | |
| 54 | buttonAttack:setReferencePoint(display.TopLeftReferencePoint) | |
| 55 | buttonAttack.x, buttonAttack.y = 210, 173 | |
| 56 | buttonAttack.type = "attack" | |
| 57 | buttonAttack:addEventListener("Button", function(event) resistance.HandleButtons(event, group, self) end)
| |
| 58 | local buttonDone = button.New(sprite.newSprite(sprite.newSpriteSet(buttonSheet, 5, 2))) | |
| 59 | group:insert(buttonDone) | |
| 60 | buttonDone:setReferencePoint(display.TopLeftReferencePoint) | |
| 61 | buttonDone.x, buttonDone.y = 275, 173 | |
| 62 | buttonDone.type = "done" | |
| 63 | buttonDone:addEventListener("Button", function(event) resistance.HandleButtons(event, group, self) end)
| |
| 64 | group.isVisible = false | |
| 65 | return self | |
| 66 | end | |
| 67 | ||
| 68 | return resistance |