2014-04-13 98 views
1

我有一個場景,我的遊戲發生。我正在尋找一種緩慢「縮小」的方式,以便隨着時間的推移,越來越多的空間變得可見。但我希望HUD和其他元素保持相同的大小。這就像在自上而下的遊戲中的鼠標滾輪功能一樣。從場景視圖中縮放攝像機的正確方法是什麼?

我試圖將所有內容都粘貼到顯示組中並過渡xScale,yScale。它當然可以在視覺上工作,但是遊戲功能會消失。例如,我有一個產卵器,產生一些對象,其圖形得到縮放,但產卵者仍然從其原始位置產生對象,而不是新的縮放位置。

我需要跟蹤每個X,Y位置I在遊戲過程中使用並轉換它們? (對我來說,這可能是可能的,但對我來說太困難了,因爲我使用了大量的觸摸事件來進行瞄準和路徑創建等等)還是有更簡單的方法來實現這一點?請說是:P

我期待您的答案,在此先感謝! :)

+0

我來自GameSalad,他們有** camera.width **和** camera.height **,你只是改變它們。例如從320x480到640x960,使一切變小。 如果電暈有這樣的事情,我可以使用它,並相應地改變HUD元素的大小來補償。 有人嗎? – cbt

回答

0

問題是你縮放你的圖像,但不是你的位置座標。 您需要將「原始座標」轉換爲「縮放座標」

如果將地圖大小縮放爲一半,則應將移動量縮小一半。 你需要'縮放'你的座標在相同的數量你的圖像縮放。

例如讓我們假設你的比例係數是0.5,你有一個形象:

local scaleFactor = 0.5 
image.xScale = scaleFactor 
image.yScale = scaleFactor 

那麼你就需要這一因素

thingThatIsMoved.x = thingThatIsMoved.x + (moveAmount * scaleFactor) 
thingThatIsMoved.y = thingThatIsMoved.y + (moveAmount * scaleFactor) 

我希望這有助於擴展您的移動量,我假設你有一個moveAmount變量並更新enterFrame()事件的位置。

相關問題