Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local character = require "characters.character"
- local sprite = require "sprite"
- local resistance = {}
- function resistance.HandleButtons(event, group, self)
- local button = event.target
- if event.phase == "ended" and button.type == "move" then
- resistance.ToggleMenu(group, self)
- local function selectMove(...)
- Runtime:removeEventListener('tap', selectMove)
- return resistance.Move(self, ...)
- end
- Runtime:addEventListener("tap", selectMove)
- elseif event.phase == "ended" and button.type == "attack" then
- elseif event.phase == "ended" and button.type == "done" then
- resistance.ToggleMenu(group, self)
- end
- end
- function resistance.ToggleMenu(group, self)
- group.isVisible = not group.isVisible
- if group.isVisible then
- self:Animate("Selected")
- else
- self:Animate("Stationary")
- end
- end
- function resistance.Move(self, event)
- self:Move(math.ceil(event.x / 30), math.floor((event.y + 10) / 30))
- end
- function resistance.Create(level, name, size, health, move, attack, defense, xTile, yTile)
- local group = display.newGroup()
- local self = character.Create(level, name, size, health, move, attack, defense, xTile, yTile)
- self:addEventListener("tap", function() resistance.ToggleMenu(group, self) end)
- local block = display.newRect(0, 0, display.contentWidth, display.contentHeight)
- group:insert(block)
- block:setFillColor(0, 0)
- block:addEventListener("tap", function() return true end)
- local background = display.newImage(group, "visuals/resistance_background.png", 0, 0)
- background:setReferencePoint(display.CenterReferencePoint)
- background.x, background.y = display.contentWidth / 2, display.contentHeight / 2
- local icon = display.newImage(group, ("visuals/character_" .. name .. "icon.png"), 145, 128)
- local buttonSheet = sprite.newSpriteSheet("visuals/button_resistance.png", 60, 20)
- local buttonMove = button.New(sprite.newSprite(sprite.newSpriteSet(buttonSheet, 1, 2)))
- group:insert(buttonMove)
- buttonMove:setReferencePoint(display.TopLeftReferencePoint)
- buttonMove.x, buttonMove.y = 145, 173
- buttonMove.type = "move"
- buttonMove:addEventListener("Button", function(event) resistance.HandleButtons(event, group, self) end)
- local buttonAttack = button.New(sprite.newSprite(sprite.newSpriteSet(buttonSheet, 3, 2)))
- group:insert(buttonAttack)
- buttonAttack:setReferencePoint(display.TopLeftReferencePoint)
- buttonAttack.x, buttonAttack.y = 210, 173
- buttonAttack.type = "attack"
- buttonAttack:addEventListener("Button", function(event) resistance.HandleButtons(event, group, self) end)
- local buttonDone = button.New(sprite.newSprite(sprite.newSpriteSet(buttonSheet, 5, 2)))
- group:insert(buttonDone)
- buttonDone:setReferencePoint(display.TopLeftReferencePoint)
- buttonDone.x, buttonDone.y = 275, 173
- buttonDone.type = "done"
- buttonDone:addEventListener("Button", function(event) resistance.HandleButtons(event, group, self) end)
- group.isVisible = false
- return self
- end
- return resistance
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement