2015-10-18 29 views
0

我剛買了蘋果手錶,我想爲它創建一個超級簡單的遊戲。 僅使用單色配色方案就足夠簡單,但足夠先進,可以實時移動物體。WKInterfaceImage對齊的具體位置(Watch OS 2)

我試圖找出如何在我的Apple關注定位物體與監視OS 2.

我想不想找個地方把我對象在屏幕上(無論我想),但也有絕對的 沒辦法做到這一點,我想。

但是,在以下庫中:https://github.com/shu223/watchOS-2-Sampler 開發者實際上可以,所以我想 本身表明它應該有可能以某種方式指定在哪裏放置對象的點動畫圖像的對齊。 動畫也非常流暢。

我試圖生成幀CGContext,它使用Quartz 2D,但速度太慢,我的Apple Watch上的應用程序崩潰。

我不一定認爲手錶本身太弱,但一些聰明的編程應該解決我的問題,但我不知道該怎麼做。

回答

0

正如您所說的,您無法直接在手錶上放置WKInterfaceObject。您可以更改對象的對齊方式,但只能留下3個位置:左側,中間和右側。對你的遊戲來說可能不夠。

你能做些什麼:你可以在WKInterfaceGroup上設置背景圖片。因此,您可以將您的遊戲對象繪製到UIImage中,並將其設置爲該組的背景圖像。該背景圖片也可以是動畫。所以也許你可以將你的遊戲對象的運動畫成幾個UIImages,然後將它們設置爲動畫背景圖像。

+0

我已經嘗試了幾天前提出的所有建議,但它們都會導致相當差的性能。正如你所說,排列會導致3個可能的位置。繪製成'UIImage'會導致非常糟糕的表現,因爲實物手錶似乎不喜歡使用CGConext進行RealTime渲染。我甚至在Apple Dev Forum上就這個問題提出過一個問題。並使用幾個生成的'UIImage'類工作進行動畫處理,但是一旦達到特定級別的內存使用,應用程序就會崩潰。 – vaid

0

我發現對屏幕上WKInterfaceObject的位置有一點控制權的一種方法是將其添加到父項WKInterfaceGroup,並將項目居中(垂直和/或水平取決於您想如何移動它)。然後,您可以調整組的相對高度/寬度(setRelativeHeightsetRelativeWidth),並調整它(setVerticalAlignmentsetHorizontalAlignment),以將您的項目放在需要的位置。

這並不能讓您調整框架或給項目一個特定的座標,但它確實能讓您以編程方式在屏幕上的任何位置移動WKInterfaceObject

例如,如果您希望對象處於垂直屏幕的中心位置,則將組的相對高度保留爲1,並將項目居中。要從頂部獲得40%的對象,可以將組的相對高度更改爲0.8,並將其與.Top對齊。如果你想從頂部60%,相對高度仍然是0.8,但該組的垂直對齊應該是.Bottom

我知道這是一種令人困惑的方式來完成這一點,但這工作爲了讓我獲得物品的位置正是我想要的。