position - SKSpriteNode 上的 CGPoint x 无法正常工作(一半节点超出屏幕)

标签 position swift sprite-kit cgpoint

我实际上正在使用 Swift SpriteKit 开发游戏。

我设置了 SKSpriteNode 的位置:

skPart1.position = CGPointMake(0, 100)

所以节点应该从最左边的窗口边缘开始。

    |-------------------------|   
    |-------------------------|
    |-------------------------|
    |-------------------------|
    |==========|--------------|
    |==========|--------------|
    |==========|--------------|

但实际上我的 SKSpriteNode 的一半在屏幕之外:

     |-------------------------|   
     |-------------------------|
     |-------------------------|
     |-------------------------|
==========|--------------------|
==========|--------------------|
==========|--------------------|

我在 stackoverflow 上读到了同样的问题,但提供的唯一解决方案是将 scaleMode 设置为 AspectFit。 我发现它可以与 SKShapeNode 一起使用。但为什么不在 SKSpriteNode 中呢? 我已经尝试过了。

我该如何解决这个问题?

最佳答案

SKSpriteNode 有一个anchorPoint 属性,默认位于图像的中心,这就是为什么 Sprite 的一半位于屏幕左侧的原因。

您可以调整 anchor ,使其行为类似于 anchor 位于左下角的 SKShapeNode。试试这个:

skPart1.anchorPoint = CGPointMake(0,0);

我知道您已经接受了答案,但这是处理这种情况的理想方式,也是该属性存在的原因。

关于position - SKSpriteNode 上的 CGPoint x 无法正常工作(一半节点超出屏幕),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24835170/

相关文章:

ios - 在单 View 应用程序中启动场景

html - 位置:示例中的粘性元素不粘性

jquery - 如何修改Google饼图pieSliceText定位

ios - 没有调用正确的场景 objective-c

ios - 属性和类实例swift之间的区别

ios - 如何修改拖放预览SwiftUI 的背景颜色和形状?

swift - 多次调用 SpriteKit 碰撞

css - 图像位于 div 底部但在滚动后保持固定

html - 不显示全 Angular div

ios - Swift - 如何让文本字段在测验中识别多个正确答案?