2012-07-08 67 views
0

這裏絕望的樣子。我正在嘗試在Corona SDK中製作亞軍遊戲,並且我無法從跳躍動畫轉換到跑步(跳轉後返回)。在Corona SDK中限制觸摸事件

local function touched(event)  
if(event.phase == "began")then 

char.accel = monster.accel + 20 
char:prepare("jumping") 
char:play() 
else 


char:prepare("running") 
char:play()  

end  
end 

在這段代碼中,如果演奏者保持觸摸屏跳躍的動畫不斷重複地面上,有沒有辦法限制時間的感人事件?

還試圖通過另一種結構實現的動畫:

 if(onGround) then 
      if(wasOnGround) then 

      else 
       monster:prepare("running") 
       monster:play() 
      end 
     else 
      monster:prepare("jumping") 
      monster:play() 
     end 

但只有一些原因,顯示第一幀跳躍動畫。

任何幫助將非常感激! 在此先感謝。

回答

2

這裏有兩個可行的選項;

1)如果跳躍總是需要相同的時間,則可以使用計時器來防止用戶再次跳躍,直到您知道它們已經降落。 (定時器可以改變一個變量甚至刪除並重新添加事件偵聽器,無論是可行的。)

或者

2)做一些類似你看被上面做什麼 - 添加碰撞監聽器玩家在碰到地面時將一個標誌,例如player.canJump設置爲true,並在您開始跳轉動畫時將其設置爲false。當角色再次擊中地面時,將其重新設置爲true並再次播放正在運行的動畫。