Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- display.setStatusBar(display.HiddenStatusBar)
- local storyboard = require "storyboard"
- local scene = storyboard.newScene()
- local json = require ("json")
- local audioChange = nil
- ----------------------------
- -- Functions
- ----------------------------
- local function buttonToggle(event)
- local button = event.target
- button.currentFrame = 3 - button.currentFrame
- local volume
- if button.currentFrame == 2 then
- volume = 0
- else
- volume = 1
- end
- Runtime:dispatchEvent{name='Options'; } -- something else also goes here
- end
- local function buttonTouch(event)
- local button = event.target
- local bounds = button.contentBounds
- if event.phase == "began" then
- button.currentFrame = 2
- display.getCurrentStage():setFocus(button, event.id)
- button.isFocused = true
- elseif button.isFocused then
- local isWithinBounds = bounds.xMin <= event.x and bounds.xMax >= event.x and bounds.yMin <= event.y and bounds.yMax >= event.y
- if event.phase == "moved" then
- if isWithinBounds then
- button.currentFrame = 2
- else
- button.currentFrame = 1
- end
- elseif event.phase == "ended" or event.phase == 'cancelled' then
- if event.phase == "ended" and isWithinBounds then
- if options.audio then
- audio.play(audioChange)
- end
- button.currentFrame = 1
- storyboard.gotoScene(button.targetScene, "slideRight", 500)
- end
- button.currentFrame = 1
- display.getCurrentStage():setFocus(button, nil)
- button.isFocused = false
- end
- end
- end
- ----------------------------
- -- Storyboard
- ----------------------------
- function scene:createScene(event)
- local group = self.view
- if options.audio then
- audioChange = audio.loadSound("audio/menu_change" .. storyboard.audioType)
- end
- local background = display.newImage(group, "visuals/options_background.png", 0, 0)
- local button = {}
- button.ToggleSheet = sprite.newSpriteSheet("visuals/options_buttontoggle.png", 150, 80)
- button.ToggleSet = sprite.newSpriteSet(button.ToggleSheet, 1, 2)
- button.ToggleAudio = sprite.newSprite(button.ToggleSet)
- if not options.audio then
- button.ToggleAudio.currentFrame = 2
- end
- button.ToggleAudio:addEventListener("tap", buttonToggle)
- button.ToggleAudio:setReferencePoint(display.TopLeftReferencePoint)
- button.ToggleAudio.x = 468
- button.ToggleAudio.y = 50
- group:insert(button.ToggleAudio)
- button.OptionsBackSheet = sprite.newSpriteSheet("visuals/menu_buttonback.png", 100, 100)
- button.OptionsBackSet = sprite.newSpriteSet(button.OptionsBackSheet, 1, 2)
- button.OptionsBack = sprite.newSprite(button.OptionsBackSet)
- group:insert(button.OptionsBack)
- button.OptionsBack.targetScene = "menuScene"
- button.OptionsBack:addEventListener("touch", buttonTouch)
- button.OptionsBack:setReferencePoint(display.TopLeftReferencePoint)
- button.OptionsBack.x = 30
- button.OptionsBack.y = 510
- end
- function scene:exitScene(event)
- if options.audio then
- audio.stop()
- audio.dispose(audioChange)
- end
- storyboard.purgeScene("optionsScene")
- end
- scene:addEventListener("createScene", scene)
- scene:addEventListener("exitScene", scene)
- return scene
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement