首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >恢复不适用于SpriteKit中的任何内容

恢复不适用于SpriteKit中的任何内容
EN

Stack Overflow用户
提问于 2017-08-07 19:58:18
回答 1查看 251关注 0票数 0

我尝试创建位掩码类别,将所有恢复值设置为1,以及其他所有设置,包括运行应用程序和设备,但它仍然无法工作。在设置一个退役为1的SKSpriteNode命中另一个恢复为1的skspritenode后,dx: 100仍然不弹!下面是我的GameScene.swift代码:

代码语言:javascript
复制
import SpriteKit
import GameplayKit

class GameScene: SKScene {

override func didMove(to view: SKView) {

    let Ball = SKSpriteNode()
    Ball.self.childNode(withName: "Ball")

    let playerPaddle = SKSpriteNode()
    playerPaddle.self.childNode(withName: "playerPaddle")

    let computerPaddle = SKSpriteNode()
    computerPaddle.self.childNode(withName: "computerPaddle")

    let ballCategory: UInt32 = 0x1 << 1
    let paddleCategory: UInt32 = 0x1 << 2
    let borderCategory: UInt32 = 0x1 << 3

    Ball.physicsBody?.categoryBitMask = ballCategory
    playerPaddle.physicsBody?.categoryBitMask = paddleCategory
    computerPaddle.physicsBody?.categoryBitMask = paddleCategory
    self.physicsBody?.categoryBitMask = borderCategory

    let playerScore = SKLabelNode()
    playerScore.fontName = "Pong Score"
    playerScore.text = "0"
    playerScore.fontSize = 100
    playerScore.color = SKColor.white
    playerScore.position = CGPoint(x: -200, y: 220)
    playerScore.zPosition = 3
    addChild(playerScore)

    let comScore = SKLabelNode()
    comScore.fontName = "Pong Score"
    comScore.text = "0"
    comScore.fontSize = 100
    comScore.color = SKColor.white
    comScore.position = CGPoint(x: 200, y: 220)
    comScore.zPosition = 3
    addChild(comScore)

    var comScoreInt: Int = Int(comScore.text!)!
    comScoreInt += 1
    comScore.text = String(comScoreInt)

    var playerScoreInt: Int = Int(playerScore.text!)!
    playerScoreInt += 1
    playerScore.text = String(playerScoreInt)

    let bodyBorder = SKPhysicsBody(edgeLoopFrom: self.frame)
    bodyBorder.friction = 0
    bodyBorder.restitution = 1
    self.physicsBody = bodyBorder
}
}

PS大多数物理原理都在GameScene.sks中,而不是GameScene.swift中,然而这是位掩码所在的地方。

编辑:

Ball Config;

位置x:0,y:0,z:0,

旋转: 0,

尺寸:宽:25,高:25

锚点: x:0.5,y:0.5,

颜色:白色,

混合因子: 0,

混合模式: alpha,

Alpha: 1,

Ik约束:最小值:0,最大值:360,

比例: x:1,y:1,

物理学

实体类型:边界矩形,

只有动态检查,

摩擦力: 0,

恢复: 1,

Linuar阻尼:0,

角度阻尼: 0,

类别、冲突和字段掩码: 4294967295,

联系方式:0

初始速度: dx:100 dy:0

划板是一样的物理智慧,请帮帮忙!

EN

回答 1

Stack Overflow用户

发布于 2017-08-08 15:37:51

为了在GameScene.sks中应用初始速度,我在GameScene.swift中应用了一个力,如下所示:Ball.physicsBody?.applyImpulse(CGVector(dx:50, dy:0))恢复开始工作

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

https://stackoverflow.com/questions/45546372

复制
相关文章

相似问题

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