【问题标题】:How to create triangle in SpriteKit (Swift 2)如何在 SpriteKit (Swift 2) 中创建三角形
【发布时间】:2015-12-10 09:18:35
【问题描述】:

我是用 SKSpritenode 完成的

 func AddTopTriangels() {

        TopTriangel = SKSpriteNode(imageNamed:"Top-Triangels.png")
        TopTriangel.position = CGPointMake(frame.size.width/2, frame.size.height/2 + 370)
        TopTriangel.size = CGSize.init(width: 440, height: 35)
        addChild(TopTriangel)
    }

但我想用 SKShapenode 创建它,我该怎么做?

【问题讨论】:

  • 你应该用你迄今为止尝试过的内容来更新你的问题。这样你可能会得到你的答案。否则,您将面临问题被关闭(或被否决)的风险。同时看到how to ask一个好问题。
  • 你想要一个长方形的三角形图片吗?
  • 我需要创建三角形,是的,具有三角形的实体

标签: swift sprite-kit


【解决方案1】:

您应该像在问题中那样创建SKSpriteNode,然后用三角形将实体附加到它:

    var trianglePath = CGPathCreateMutable()
    CGPathMoveToPoint(trianglePath, nil, -TopTriangel.size.width/2, -TopTriangel.size.height/2)
    CGPathAddLineToPoint(trianglePath, nil, TopTriangel.size.width/2, -TopTriangel.size.height/2)
    CGPathAddLineToPoint(trianglePath, nil, 0, TopTriangel.size.height/2)
    CGPathAddLineToPoint(trianglePath, nil, -TopTriangel.size.width/2, -TopTriangel.size.height/2)
    TopTriangel.physicsBody = SKPhysicsBody(polygonFromPath: trianglePath)

你可以添加这一行:

sceneView.showsPhysics = true

要确保形状与您的图像匹配 (SKSpriteNode),请记住在调试后将其删除。

【讨论】:

  • 听着,在 iPhone6s+ 上我的照片看起来很糟糕。我想修复它,我需要没有物理的三角形
  • 你添加了图片 x3 这是iPhone6+显示的图片。您希望图像在所有手机上看起来都很好,您应该在同一图像上拥有三个版本,分别用于无视网膜、视网膜 (x2) 和 6+ (x3)。做一些关于这个话题的研究。
  • @omer15 只是添加(基于您的评论 here ),您可以从路径创建 SKShapeNode(来自 Greg 的答案的 trianglePath)以及使用相同的路径创建节点的物理体。
  • 但这里我是用图像完成的。
猜你喜欢
  • 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
相关资源
最近更新 更多