Advertisement
alestane

Untitled

Jan 16th, 2012
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.98 KB | None | 0 0
  1. display.setStatusBar(display.HiddenStatusBar)
  2. local storyboard = require "storyboard"
  3. local scene = storyboard.newScene()
  4. local json = require ("json")
  5.  
  6. local audioChange = nil
  7.  
  8. ----------------------------
  9. -- Functions
  10. ----------------------------
  11.  
  12. local function buttonToggle(event)
  13.     local button = event.target
  14.     button.currentFrame = 3 - button.currentFrame
  15.     -- we do something here, but what?
  16. end
  17.  
  18. local function buttonTouch(event)
  19.     local button = event.target
  20.     local bounds = button.contentBounds
  21.     if event.phase == "began" then
  22.         button.currentFrame = 2
  23.         display.getCurrentStage():setFocus(button, event.id)
  24.         button.isFocused = true
  25.     elseif button.isFocused then
  26.         local isWithinBounds = bounds.xMin <= event.x and bounds.xMax >= event.x and bounds.yMin <= event.y and bounds.yMax >= event.y
  27.         if event.phase == "moved" then
  28.             if isWithinBounds then
  29.                 button.currentFrame = 2
  30.             else
  31.                 button.currentFrame = 1
  32.             end
  33.         elseif event.phase == "ended" or event.phase == 'cancelled' then
  34.             if event.phase == "ended" and isWithinBounds then
  35.                 if options.audio then
  36.                     audio.play(audioChange)
  37.                 end
  38.                 button.currentFrame = 1
  39.                 storyboard.gotoScene(button.targetScene, "slideRight", 500)
  40.             end
  41.             button.currentFrame = 1
  42.             display.getCurrentStage():setFocus(button, nil)
  43.             button.isFocused = false
  44.         end
  45.     end
  46. end
  47.  
  48. ----------------------------
  49. -- Storyboard
  50. ----------------------------
  51.  
  52. function scene:createScene(event)
  53.     local group = self.view
  54.     if options.audio then
  55.         audioChange = audio.loadSound("audio/menu_change" .. storyboard.audioType)
  56.     end
  57.     local background = display.newImage(group, "visuals/options_background.png", 0, 0)
  58.     local button = {}
  59.         button.ToggleSheet = sprite.newSpriteSheet("visuals/options_buttontoggle.png", 150, 80)
  60.         button.ToggleSet = sprite.newSpriteSet(button.ToggleSheet, 1, 2)
  61.         button.ToggleAudio = sprite.newSprite(button.ToggleSet)
  62.             if not options.audio then
  63.                 button.ToggleAudio.currentFrame = 2
  64.             end
  65.             button.ToggleAudio:addEventListener("tap", buttonToggle)
  66.             button.ToggleAudio:setReferencePoint(display.TopLeftReferencePoint)
  67.             button.ToggleAudio.x = 468
  68.             button.ToggleAudio.y = 50
  69.             group:insert(button.ToggleAudio)
  70.         button.OptionsBackSheet = sprite.newSpriteSheet("visuals/menu_buttonback.png", 100, 100)
  71.         button.OptionsBackSet = sprite.newSpriteSet(button.OptionsBackSheet, 1, 2)
  72.         button.OptionsBack = sprite.newSprite(button.OptionsBackSet)
  73.             group:insert(button.OptionsBack)
  74.             button.OptionsBack.targetScene = "menuScene"
  75.             button.OptionsBack:addEventListener("touch", buttonTouch)
  76.             button.OptionsBack:setReferencePoint(display.TopLeftReferencePoint)
  77.             button.OptionsBack.x = 30
  78.             button.OptionsBack.y = 510 
  79. end
  80.  
  81. function scene:exitScene(event)
  82.     if options.audio then
  83.         audio.stop()
  84.         audio.dispose(audioChange)
  85.     end
  86.     storyboard.purgeScene("optionsScene")
  87. end
  88.  
  89. scene:addEventListener("createScene", scene)
  90. scene:addEventListener("exitScene", scene)
  91. return scene
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement