[英]Math doesn't work for the size and position of Game Pieces WRT the size of their container "room"
我的 Game Pieces 的位置和大小,由CGPoint(..)
和CGRect(..)
設置,在考慮所有 Game Pieces 周圍容器的寬度和高度時,對我來說沒有算術意義?
讓我用一個具體的例子來說明——
我稱周圍的容器為“房間”。
許多特定的游戲棋子之一=“搖滾”。
這是數學
roomWidth = Double(UIScreen.main.bounds.width)
roomHeight = Double(UIScreen.main.bounds.height)
在縱向模式下:
roomWidth = 744.0
roomHeight = 1133.0
旋轉到橫向模式時:
roomWidth = 1133.0,
roomHeight = 744.0
到目前為止一切順利..這是問題所在:
當我查看我的.sks
文件時,“rock”及其相鄰游戲塊的寬度遠遠超過了 roomWidth; 例如,
岩石 + 槳 + 樹的寬度 = 507 + 768 + 998,這顯然超過了肖像或風景模式下房間的寬度——而且這個數學甚至沒有解決游戲碎片之間的分離問題。
最后的數學“瘋狂”查看我的.sks
文件中指定的每個游戲塊的 swift xPos 值:
Room: xPos = 40,
Rock: xPos = -390,
Paddle: xPos = -259,
Tree: xPos = 224
我無法理解這兩個高負數..對我來說,這意味着岩石和槳甚至不應該可見..嚴重脫離屏幕。
一個重要的補充 = 我確實將Autoresizing Mask
設置為水平和垂直居中
我需要在這里認真注入“智慧”。
sks 文件(SpriteKit 場景文件)的默認anchorPoint
是 (0.5, 0.5)。 所以場景的原點 (0, 0) 被繪制在SKView
的中心。 您可以在編輯 sks 文件時更改屬性檢查器中的錨點。 默認值意味着離原點不遠的負坐標將在SKView
中可見。
場景還有一個scaleMode
屬性,它決定了如果場景的大小與SKView
的大小不匹配,場景是如何縮放的。 默認值為.fill
,這意味着視圖獨立縮放場景的軸,因此場景的size
正好填滿視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.