WKInterfaceImage对齐的具体位置(Watch OS 2)

时间:2015-10-18 13:02:09

标签: ios animation swift2 watch-os-2

我刚买了Apple Watch,我想为它制作一款超级简单的游戏。 它很简单,只能使用单色配色方案,但足够先进,可以让物体实时移动。

我试图找出如何使用Watch OS 2在Apple Watch上定位对象。

我想把我的对象放在屏幕上的某个地方(我喜欢的任何地方),但绝对是 我想,没办法那样做。

但是,在以下库中:https://github.com/shu223/watchOS-2-Sampler 我想,开发人员实际上可以为图像的对齐设置动画 这本身就表明它应该可以以某种方式指定一个对象定位点。 动画也非常流畅。

我尝试使用CGContext动态生成Quartz 2D帧,但速度太慢,Apple Watch上的应用就崩溃了。

我不一定认为手表本身太弱,但一些聪明的编程应该可以解决我的问题,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

正如您所说,无法直接在您的手表上放置WKInterfaceObject。您可以更改对象的对齐方式,但只留下3个位置:左侧,中间和右侧。可能还不够你的游戏。

您可以做什么:您可以在WKInterfaceGroup上设置背景图片。因此,您可以将游戏对象绘制到UIImage中,并将其设置为该组的背景图像。那些背景图像也可以是动画的。所以也许你可以将游戏对象的运动画成几个UIImages,然后将它们设置为动画背景图像。

答案 1 :(得分:0)

我发现可以更好地控制屏幕WKInterfaceObject位置的一种方法是将其添加到父级WKInterfaceGroup,并将项目居中(垂直和/或水平)取决于你想如何移动它)。然后你可以调整组的相对高度/宽度(setRelativeHeightsetRelativeWidth)和它的对齐(setVerticalAlignmentsetHorizontalAlignment)以获得你的项目位于您想要的位置。

这并不能让您调整帧或为项目指定特定坐标,但它确实能让您以编程方式在屏幕上的任何位置移动WKInterfaceObject

例如,如果您希望对象垂直位于屏幕的正中心,则将组的相对高度保留为1,并使项目居中。要使对象从顶部获得40%,您可以将组的相对高度更改为0.8,并将其与.Top对齐。如果你想要它从顶部60%,相对高度仍然是0.8,但组的垂直对齐应该是.Bottom等。

我知道这是一种令人困惑的方式来实现这一目标,但这对我来说非常有用,可以根据我的需要定位物品。