저는 Corona SDK를 처음 접했고 어떻게 작동하는지 예제 프로젝트를보고 있습니다. 그러나 TAB 예제를보고 있는데 문제가 있습니다.Corona SDK (TabButton 포함)에서 작동하는 기능을 얻을 수 없습니다.
나는 (이 페이지 2입니다) 그래서 같은 페이지가
어쨌든local composer = require("composer")
local scene = composer.newScene()
function scene:create(event)
local sceneGroup = self.view
-- Called when the scene's view does not exist.
--
-- INSERT code here to initialize the scene
-- e.g. add display objects to 'sceneGroup', add touch listeners, etc.
-- create a white background to fill screen (things go in here like pictures etc)
local bg = display.newRect(0, 0, display.contentWidth, display.contentHeight)
bg.anchorX = 0
bg.anchorY = 0
bg:setFillColor(0) -- white
-- this will create the thing that you drag (the function is after)
local tracker = display.newRect(568, 340, 50, 50)
tracker:setFillColor(1)
-- all objects must be added to group (e.g. self.view)
sceneGroup:insert(bg)
sceneGroup:insert(tracker)
end
function scene:show(event)
local sceneGroup = self.view
local phase = event.phase
if phase == "will" then
-- Called when the scene is still off screen and is about to move on screen
elseif phase == "did" then
-- Called when the scene is now on screen
--
-- INSERT code here to make the scene come alive
-- e.g. start timers, begin animation, play audio, etc.
end
end
function scene:hide(event)
local sceneGroup = self.view
local phase = event.phase
if event.phase == "will" then
-- Called when the scene is on screen and is about to move off screen
--
-- INSERT code here to pause the scene
-- e.g. stop timers, stop animation, unload sounds, etc.)
elseif phase == "did" then
-- Called when the scene is now off screen
end
end
function scene:destroy(event)
local sceneGroup = self.view
-- Called prior to the removal of scene's "view" (sceneGroup)
--
-- INSERT code here to cleanup the scene
-- e.g. remove display objects, remove touch listeners, save state, etc.
end
function tracker:touch(event)
if event.phase == "began" then
self.markX = self.x --stores x location
self.markY = self.y --stores y location
elseif event.phase == "moved" then
local x = (event.x - event.xStart) + self.markX
local y = (event.y - event.yStart) + self.markY
self.x, self.y = x, y -- moves the object from things above
end
end
---------------------------------------------------------------------------------
-- Listener setup
scene:addEventListener("create", scene)
scene:addEventListener("show", scene)
scene:addEventListener("hide", scene)
scene:addEventListener("destroy", scene)
tracker:addEventListneer("touch", tracker)
-----------------------------------------------------------------------------------------
return scene
것들을 내가 수행 한 변경 사항을 간소화은 다음과 같습니다
local tracker = display.newRect(568, 340, 50, 50)
tracker:setFillColor(1)
이 내가 노력하고 새로운 상자를 생성합니다 이렇게하면 화면에서 드래그 할 수 있습니다. (이 함수를 사용했습니다) :
function tracker:touch(event)
if event.phase == "began" then
self.markX = self.x --stores x location
self.markY = self.y --stores y location
elseif event.phase == "moved" then
local x = (event.x - event.xStart) + self.markX
local y = (event.y - event.yStart) + self.markY
self.x, self.y = x, y -- moves the object from things above
end
end
그것은 상자를 생성하고 당신이 화면 주위에 그것을 끌 수 있도록 그것에 기능을 추가하려고합니다. 그러나 그것은 작동하지 않으며 저에게 기능 라인 function tracker:touch(event)
의 그 시작에 tracker
가 잘못되었음을 말하는 오류가 있습니까? 어떤 도움이라도, 이것은 잘못된 장소에 있다고 생각하기 때문입니다.
피씨 나는 또한 tracker:addEventListneer("touch", tracker)
청취자가 있습니다.
고마워요
아, 감사합니다. 그러나'scene : create' 내부에'tracker : addEventListneer ("touch", tracker)'를 넣었 기 때문에 효과가 없습니다. 그러나 여전히 그것에 대한 오류가 나옵니까? ('scene : create'의 맨 아래에'return true'를 추가했습니다.) –
오류를 연결해야합니다. 모든 오류는 문제의 원인을 설명하고 문제를 말할 수 있습니다. –