0
안녕하세요. 저는 현재 원근감 라이브러리를 사용할 응용 프로그램을 개발 중입니다. 라이브러리를 가져 왔지만 올바른 코드가 작성되었지만 사용할 수없는 카메라가 제대로 작동하지 않습니다. 나는 당신이 버튼으로 움직이고있는 주인공을 따라가는 카메라를 얻으려고 시도하고있다. 나는 그와 배경과 "나무"를 카메라에 추가하고 초점으로 설정했지만 여전히 그를 따라 가지 않습니다. 여기 내 코드는 내가 잘못한 것과 해결 방법을 말해 준다. 당신은 (아마도 enterScene
핸들러에 가야한다) camera:track()
에 대한 호출을 누락처럼원근감 가상 카메라 라이브러리 문제 코로나 SDK
local storyboard = require("storyboard")
local scene = storyboard.newScene()
local perspective = require("perspective")
local camera = perspective.createView()
local physics = require("physics")
--physics.setDrawMode("hybrid")
local function start(event)
if(event.phase == "ended") then
end
end
local bg
local floor
local leftwall
local rightwall
local player
local button1
local button2
local pausebtn
local tree
local function b1(event)
if(event.phase == "ended") then
player:applyLinearImpulse(-.01, -.1)
end
end
local function b2(event)
if(event.phase == "ended") then
player:applyLinearImpulse(.01, -.1)
end
end
local function playerCollision(event)
if(event.phase == "began") then
storyboard.gotoScene("gameover")
end
end
local function pause(event)
if(event.phase == "ended") then
storyboard.showOverlay("pause")
physics.pause()
end
end
function scene:createScene(event)
local group = self.view
physics.start()
bg = display.newImage("bg.png", display.contentWidth/2, display.contentHeight/2, display.contentWidth, display.contentHeight)
camera:add(bg, 3, false)
player = display.newImage("player.png", display.contentWidth/2, display.contentHeight/2, display.contentWidth, display.contentHeight)
player.collision = playerCollision
camera:add(player, 1, true)
tree = display.newImage("tree.png", 200, 200)
camera:add(tree, 2, false)
floor = display.newRect(285, 375, 570, 1)
button1 = display.newImage("button1.png", 50, 275)
button2 = display.newImage("button2.png", 515, 275)
leftwall = display.newRect(0, -1000, 1, 5000)
rightwall = display.newRect(570, 300, 1, 5000)
pausebtn = display.newImage("pausebtn.png", 540, 30)
-- Physics
physics.addBody(player)
physics.addBody(floor)
floor.bodyType = "static"
physics.addBody(rightwall)
rightwall.bodyType = "static"
physics.addBody(leftwall)
leftwall.bodyType = "static"
group:insert(bg)
group:insert(player)
group:insert(floor)
group:insert(button1)
group:insert(button2)
group:insert(rightwall)
group:insert(leftwall)
group:insert(pausebtn)
group:insert(tree)
end
function scene:enterScene(event)
print("game")
button1:addEventListener("touch", b1)
button2:addEventListener("touch", b2)
player:addEventListener("collision", playerCollision)
pausebtn:addEventListener("touch", pause)
end
function scene:exitScene()
player = nil
camera:cancel()
end
function scene:destroyScene(event)
end
scene:addEventListener("createScene", scene)
scene:addEventListener("enterScene", scene)
scene:addEventListener("exitScene", scene)
scene:addEventListener("destroyScene", scene)
return scene
카메라 : track()을 코드에 추가했지만 작동하지 않습니다. 나는 EnterScene과 CreateScene 모두에서 이것을 시도했으며 camera : setBounds (false)는 문제를 해결하지 못한다. – user3558131