我想在我的遊戲中包含一個暫停按鈕,其中涉及對象的物理和一些轉換。我如何在Corona SDK中做到這一點,我相當新? 任何指導?如何正確地暫停涉及物理和轉換的遊戲?
0
A
回答
4
function pause()
physics.pause()
end
Runtime:addEventListener("touch", pause)
將暫停所有物理。
function pause(event)
if event.phase == "began" then
if paused == false then
physics.pause()
paused = true
elseif paused == true then
physics.start()
paused = false
end
end
end
paused = false
Runtime:addEventListener("touch", pause)
將切換上點擊物理暫停
1
隨着physics.pause()會有輕微的抖動在物理對象。
另一種方法是在暫停時捕捉屏幕並將其放到場景中。
之後,您將暫停屏幕GUI對象放在屏幕的頂部。
恢復時刪除已暫停的屏幕對象和屏幕截圖。
local gameScene= display.newGroup()
local myObject1 = display.newRect(50,50,100,150)
gameScene:insert(myObject1)
function onPause(event)
local screenCap = display.captureScreen(false) --dont save to album
gameScene:insert(screenCap)
--insert pause buttons and etc here
end
Runtime:addEventListener("touch",onPause)
1
使用暫停按鈕來設置功能:
local function pausebtn(event)
if event.phase == "ended" then
physics.pause()
end
pausebtn:addEventListener("touch", pausebtn)
2
而且停止物理,你也必須刪除enterFrame事件監聽器,如果您有與場景移動物體,任何動畫您在遊戲。
所以,你的暫停功能會是這樣的
function Pause(event)
if event.phase == "began" then
if paused == false then
physics.pause()
paused = true
Runtime:removeEventListener("enterFrame",Contador_func)
Runtime:removeEventListener("enterFrame",Move_c1ScrollPai)
Runtime:removeEventListener("enterFrame",Move_c1ScrollFilho)
Runtime:removeEventListener("enterFrame",VelAumenta)
Runtime:removeEventListener("enterFrame",Serra)
Runtime:removeEventListener("enterFrame",passaro)
Runtime:removeEventListener("enterFrame",bf)
Runtime:removeEventListener("enterFrame",bf2)
Runtime:removeEventListener("enterFrame",p)
Runtime:removeEventListener("enterFrame",CR)
Runtime:removeEventListener("enterFrame",Funcao)
Runtime:removeEventListener("enterFrame",BumPassaro)
Runtime:removeEventListener("collision",Andar)
p:pause()
Bum:pause()
coin:pause()
coins:pause()
elseif paused == true then
Runtime:addEventListener("enterFrame",Contador_func)
Runtime:addEventListener("enterFrame",Move_c1ScrollPai)
Runtime:addEventListener("enterFrame",Move_c1ScrollFilho)
Runtime:addEventListener("enterFrame",VelAumenta)
Runtime:addEventListener("enterFrame",Serra)
Runtime:addEventListener("enterFrame",passaro)
Runtime:addEventListener("enterFrame",bf)
Runtime:addEventListener("enterFrame",bf2)
Runtime:addEventListener("enterFrame",p)
Runtime:addEventListener("enterFrame",CR)
Runtime:addEventListener("enterFrame",Funcao)
Runtime:addEventListener("enterFrame",BumPassaro)
Runtime:addEventListener("collision",Andar)
Runtime:removeEventListener("enterFrame",p)
p:play()
Bum:play()
coin:play()
coins:play()
physics.start()
paused = false
end
end
end
相關問題
- 1. 如何正確地暫停SpriteKit遊戲中的精靈動作?
- 2. 如何暫停和恢復andengine遊戲?
- 3. clearInterval和暫停遊戲
- 4. 當遊戲暫停時Phaser「暫停遊戲」文本
- 5. 幫助邏輯設置良好的遊戲設計圖層(涉及SpaceManager物理,音樂和遊戲邏輯)
- 6. 如何在cocos2d中暫停遊戲?
- 7. TDD和遊戲物理
- 8. 查找涉及玩家的遊戲
- 9. Flash - 暫停遊戲ActionScript 3
- 10. scoreLabel.text使得遊戲暫停
- 11. 暫停遊戲(ActionScript 3)
- 12. 暫停遊戲循環?
- 13. 如何防止切換選項卡時的HTML遊戲暫停
- 14. 2d遊戲物理?
- 15. 如何加速iOS轉換和遊戲?
- 16. 遊戲狀態管理器,暫停和恢復
- 17. 的cocos2d的Android不暫停遊戲
- 18. 暫停或退出的的Android遊戲
- 19. 遊戲中的矢量和物理
- 20. AIR to Android/OUYA的Flash遊戲:暫停應用/遊戲
- 21. 如何在SpriteKit和SceneKit中暫停遊戲 - SWIFT
- 22. 遊戲c的暫停按鈕#
- 23. 暫停屏幕設計的iOS遊戲
- 24. 如何用wait()和notify()正確地暫停線程
- 25. SpriteKit遊戲物理滯後
- 26. 液體物理遊戲
- 27. 物理OO遊戲編程
- 28. LibGdx弓箭遊戲物理
- 29. N遊戲角色物理
- 30. 2D平臺遊戲物理