ビットマスクカテゴリの作成を試みました。すべての反復値を1に設定し、アプリケーションをデバイスで実行することを含め、太陽の下ですべてを設定しました。リプレイス1でSKSpriteNodeを設定した後、別のskspritenodeにdx:100でのリプレイスメント1を打つと、それはまだバウンスしません!ここでGameScene.swiftのための私のコードは次のとおりです。ビットマスクがどこにあるかSpriteKitの何かで反作用が働いていません
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である、しかし、これはあります。
編集:
ボール構成;
位置X:0、Y:0、Z 0、
回転:0、
サイズ:W:25、H:25、
アンカーポイントX:0.5、 Y:0.5、
色:白、
ブレンドファクタ:0、
ブレンドモード:アルファ、
アルファ:1、
Ikの制約:最小:0、最大:360、
スケール:X 1、Y 1、
PHYSICS
体型:バウンディングRECT、
のみ、動的にチェック、
摩擦:0、
反発:湿っ1、
Linuar:0、
湿った角度:0、
カテゴリー、衝突、およびフィールドマスク:4294967295、
コンタクトマスク:0
慣性速度:dx:100dy:0
パドルは同じ物理学的な賢さ お願いします!
コメントを働き始めたが、拡張議論のためではありません。この会話は[チャットに移動]されています(http://chat.stackoverflow.com/rooms/151298/discussion-on-question-by-isaac-dragon-restitution-not-working-on-anything-in-sp) 。 –