首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速标签和雪碧的位置对比

问快速标签和雪碧的位置对比
EN

Stack Overflow用户
提问于 2015-09-07 21:48:04
回答 1查看 223关注 0票数 1

我对斯威夫特相当陌生,但一路上我注意到了一些奇怪的事情。如果我有一个雪碧和一个标签,并为他们输入完全相同的位置,他们将有一个不同的视觉位置。我正在寻找一个人来解释这一点,以更好地理解斯威夫特。这是输出:

​

​

代码语言:javascript
复制
//
//  GameScene.swift
//  Test Game
//
//  Created by NioPullus on 9/7/15.
//  Copyright (c) 2015 Owen Vnek. All rights reserved.
//

import SpriteKit

class GameScene: SKScene {

    var testSprite: SKSpriteNode = SKSpriteNode(imageNamed:                           "Spaceship")
    var testLabel: UILabel = UILabel()

    func defineTestSprite(var #sprite: SKSpriteNode) -> SKSpriteNode {
        sprite.position.x = 100
        sprite.position.y = 100
        sprite.xScale = 0.3
        sprite.yScale = 0.3
        return sprite
    }

    func defineTestLabel(var #label: UILabel) -> UILabel {
        label = UILabel(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
        label.text = "Test"
        return label
    }

    override func didMoveToView(view: SKView) {
        self.addChild(defineTestSprite(sprite: self.testSprite))
        self.view?.addSubview(defineTestLabel(label:self.testLabel))
    }

    override func touchesBegan(touches: Set<NSObject>, withEvent event:     UIEvent) {
        /* Called when a touch begins */

        for touch in (touches as! Set<UITouch>) {
            let location = touch.locationInNode(self)
        }
    }

    override func update(currentTime: CFTimeInterval) {
        /* Called before each frame is rendered */
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-07 21:54:48

UIKit和SpriteKit使用不同的坐标系统,因此您不一定期望具有与子视图相同的x/y值的sprite出现在相同的视觉位置上。

您可以使用SKView方法convertPoint:toScene: (和convertPoint:fromScene:)在这些坐标空间之间进行转换。

您可以了解有关SpriteKit坐标系这里和UIView坐标系这里的更多信息。(正如你所见,它们是非常不同的。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32446433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档