【问题标题】:Setting SKSpriteNode position makes sprite dissapear设置 SKSpriteNode 位置使精灵消失
【发布时间】:2014-06-18 22:08:28
【问题描述】:

在过去几天阅读了有关如何使用 SpriteKit 定位精灵的文档后,我似乎无法理解它。 图片本身是181 × 88。我的

import SpriteKit

class PlayScene: SKScene {

let runningBar = SKSpriteNode(imageNamed:"runningbar")

override func didMoveToView(view: SKView) {
    self.backgroundColor = UIColor(hex:0x80D9FF)
    self.runningBar.position = CGPointZero
    self.addChild(self.runningBar)
}...

我的按钮根本不显示。我认为由于左下角是 0,0,我会在屏幕左下角看到按钮的右上角。文档说它将纹理集中在按钮上。

如果我在那里放另一张 1344 × 64 的图像,那么我会在左下角看到图像右上角的一点点。我对坐标系的工作原理完全感到困惑。我读到的是锚点位于精灵的中心。

目前我有scene.scaleMode = .AspectFill

【问题讨论】:

  • 检查场景缩放模式,将其更改为 aspectFit 或 resizeFill
  • @LearnCocos2D 场景设置为scene.scaleMode = .AspectFill
  • 请显示更多您的代码。您稍后可能会做一些影响其位置的事情。

标签: ios sprite-kit swift


【解决方案1】:

我现在也在学习 swift。访问变量 runningBar 时,您不需要使用“self”。访问它。我还更改了您的位置代码,使其基于当前帧的计算。现在它被设置为直接中心,但你应该能够弄清楚如何移动它,只要记住 CGPointMake 需要:(x, y)。

import SpriteKit

class PlayScene: SKScene {

let runningBar = SKSpriteNode(imageNamed:"runningbar")

override func didMoveToView(view: SKView) {
    self.backgroundColor = UIColor(hex:0x80D9FF)

    runningBar.position = CGPointMake(self.frame.size.width * 0.5, self.frame.size.height * 0.5)
    self.addChild(runningBar)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多