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 |