這是一個問題:我正在使用Corona SDK和非常簡單的模塊進行一個簡單的物理遊戲:http://developer.coronalabs.com/code/move-camera所以我有魚物體與物理體和每個幀(enterFrame事件) M於它在Corona SDK中重複2個背景
camera.x = -fish.x + screenWidth/2
中心的攝像頭和我有兩個背景BG1和BG2,這是其他(BG1 BG2 BG1 BG2等)後平鋪每次都會讓用戶無需移動好看世界效應知道,只有2個背景。問題是我無法正確計算他們的立場來產生這種效果。我GOOGLE了很多,但找不到任何符合我的需求的東西。
這是一個免費的藝術,我正在使用http://www.vickiwenderlich.com/2013/02/free-game-art-flying-goldfish/在那裏你可以找到這兩個背景。
也有可能魚的方向相反(通常它向右移動以使世界移動的效果背景必須移動到左邊),所以如果它在計算中會更好。
我想通了,這樣的事情(但它不工作,但也許我接近):
local function updateFrame(event)
local m
local dfx = lfx - fish.x
lfx = fish.x
camera.x = -fish.x + screenWidth/2
--print("dfx = " .. dfx)
bg1.x = bg1.x + dfx
bg2.x = bg2.x + dfx
s = s + dfx
if mAbs(s) > screenWidth then
m = sgn(s)
if m ~= 0 then
s = s - m * screenWidth
if m < 0 then
bg1.x = bg1.x - 2 * m * screenWidth
else
bg2.x = bg2.x - 2 * m * screenWidth
end
end
end
end
Runtime:addEventListener("enterFrame", updateFrame);
s = screenLeft - screenWidth
s是像素的和移動,如果它是在屏幕寬度我的一個跳躍背景,lfx是最後一條魚的位置,dfx是最後一條魚和當前魚的位置之間的差異,就是這樣。
如果你可以幫助我計算或給我新的或只是給一些有趣的鏈接,請寫在這裏。
任何幫助將不勝感激, 問候