0
花了幾個小時試圖在這裏找出故事板問題。我已經修剪了一個示例項目來複制它。故事板 - 多場景enterScene/existScene發生 - 這段代碼有什麼問題?
問題:
- 從現場1去,場景2,然後回到場景1,然後通過場景切換了幾次後,我得到如下:
- 當進入一個場景記錄顯示多個enterScene/exitScene被觸發
- 似乎通過也許多個背景觸摸監聽器正在註冊,但我試圖刪除這些在exitScene函數
- 我在試用版:2011.704(2011.12 .8)
輸出
<code>
-- Click on background to go back to screen_example1
storyboard.gotoScene(screen_example1)
screen_example1: enterScene
storyboard.gotoScene(screen_example1)
screen_example1: exitScene
screen_example1: enterScene
storyboard.gotoScene(screen_example1)
screen_example1: exitScene
screen_example1: enterScene
storyboard.gotoScene(screen_example1)
screen_example1: exitScene
screen_example1: enterScene
.
.
.
etc
</code>
代碼:三個文件:主要和兩個場景文件:
main.lua
<code>
display.setStatusBar(display.HiddenStatusBar)
local storyboard = require "storyboard"
storyboard.gotoScene("screen_example1")
</code>
screen_example1.lua
<code>
local storyboard = require("storyboard")
local scene = storyboard.newScene()
local function onScreenTouch(event)
if event.phase == "began" then
print("")
storyboard.gotoScene("scene_towerView")
end
end
function scene:createScene(event)
print ("screen_example1 - createScene")
local image = display.newImage("bg.jpg")
scene.view:insert(image)
end
function scene:enterScene(event)
print ("screen_example1: enterScene")
scene.view:addEventListener("touch", onScreenTouch)
end
function scene:exitScene(event)
print ("screen_example1: exitScene")
scene.view:removeEventListener("touch", onScreenTouch)
end
-- Scene Listeners
scene:addEventListener("createScene", scene)
scene:addEventListener("enterScene", scene)
scene:addEventListener("exitScene", scene)
scene:addEventListener("destroyScene", scene)
return scene
</code>
個scene_towerView.lua
<code>
local storyboard = require("storyboard")
local scene = storyboard.newScene()
local function onScreenTouch(event)
if event.phase == "began" then
print("")
print("storyboard.gotoScene(screen_example1)")
storyboard.gotoScene("screen_example1")
end
end
-- Scene Handlers
function scene:createScene(event)
print ("TowerScene - createScene")
-- -- Background Image
local image = display.newImage("bg2.jpg")
scene.view:insert(image)
end
function scene:enterScene(event)
print ("TowerScene - enterScene")
scene.view:addEventListener("touch", onScreenTouch)
end
-- Scene Listeners
scene:addEventListener("createScene", scene)
scene:addEventListener("enterScene", scene)
scene:addEventListener("exitScene", scene)
scene:addEventListener("destroyScene", scene)
return scene
</code>
PS。這個問題是因爲我在試用版嗎?試用版比目前的穩定版本早得多嗎?任何最新的穩定版本都會得到我得到的同樣的錯誤? 我打算按照你準備好提交時可以支付的訂閱費用,但是如果試用版本在獲取隱藏方面落後了,那麼我現在就可以拿到它了。 – Greg