2011-09-08 7 views
0

나는 (Lua를 사용하여) Corona SDK를 사용하여 커스텀 틱을 작성하려고 시도했다. 열쇠는 이러한 "eventListeners"인 것처럼 보이지만 클래스와 작업하도록 유도하려고합니다. 지금이 클래스 "월드"를 설정했습니다. 내 "틱"함수에 EventListener를 추가하려고 시도하고 있지만 Corona는 내가 할 수 없다고 말하고 있습니다.Corona "tick"문제 - addEventListener

function World:tick() 
--player:tick() 
--camera:tick(player.x,player.y) 
--for i=0,monsters.length do 
--  monster[i]:tick() 
    if(rwalk) then 
     mainGroup.x = mainGroup.x-10 
    elseif(lwalk) then 
     mainGroup.x = mainGroup.x+10 
    end 
end 
Runtime:addEventListener("enterFrame",tick) 

오류 : 런타임 오류 : 어설 션이 실패했습니다! 스택 추적 : [C] :? [C] : 함수 'getOrCreateTable' : : 기능 '어설' 에? 함수 '또는 addEventListener' : 함수 '또는 addEventListener' C : \ 사용자 에반 \ 바탕 화면 \ 루아 \ 테스트 게임 \ 메인을 \ .lua : 337 : 메인 청크에

답변

3

이 작품은 나를 위해 작동합니다. 당신을 위해 일해야 :

World = {} 

function World:tick() 
    print "Hello!" 
end 

display.setStatusBar(display.HiddenStatusBar) 
Runtime:addEventListener("enterFrame", World.tick) 

누락 된 모든 대신 tickWorld.tick를 사용하여 함수를 지정하는 것이 었습니다.

+0

오. 그 덕분에! 하지만 지금은 내 세계 객체의 속성에 액세스 할 수 없습니다. 내가 라인을 추가하고 (내 세계에 대한 초기화 : new()) : self.test = true 해당 기능이있는 곳이면. 그것은 "test"가 0이라는 오류를 내게줍니다. 어쨌든 객체를 유지하면서 이벤트 리스너를 수행 할 것인가? – Evan

+0

내 대답을 수락하고 샘플 코드와 함께 새로운 질문을 열어 보면 기꺼이 살펴볼 것입니다. :) –

+0

오, 그래. 나는 당신의 대답을 받아 들였지만 새로운 질문을 시작할 것입니다. – Evan

관련 문제