Ich habe versucht, erstellen Bitmask Kategorien, alle Restitution Werte auf 1 und alles andere unter der Sonne einschließlich der Ausführung der Anwendung ein Gerät und es funktioniert überhaupt nicht. Nachdem ein SKSpriteNode mit retitution 1 gesetzt wurde, um einen anderen skspritenode auch mit restitution eins bei dx: 100 zu erreichen, springt es immer noch nicht! Hier ist mein Code für GameScene.swift:Wiederherstellung funktioniert nicht auf irgendetwas in 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 fast alle von der Physik ist in GameScene.sks nicht GameScene.swift, aber das ist, wo die Bitmasken sind.
EDIT:
Ball-Config;
Position x: 0, Y: 0, Z: 0,
Rotation: 0,
Größe: w: 25, H: 25,
Anchor Point: x: 0,5, y: 0,5,
Farbe: weiß,
Mischung Factor: 0,
Mischmodus: alpha,
Alpha: 1,
Ik Constraints: min: 0, max: 360,
Maßstab: X: 1, Y: 1,
PHYSICS
Körperbau: Bounding rect,
nur dynamisch geprüft,
Reibung: 0,
Restitution: 1,
Linuar Damp: 0,
Angular feucht: 0,
Kategorie, Kollision und Feldmaske: 4294967295,
Kontakt Maske: 0
Anfangsgeschwindigkeit: dx: 100 dy: 0
Paddles sind die gleichen physikalischen weise BITTE HILFE!
Kommentare sind nicht für längere Diskussion; Diese Konversation wurde [zum Chatten verschoben] (http://chat.stackoverflow.com/rooms/151298/discussion-on-question-by-isaac-dragon-restitution-not-working-on-anyything-in-sp) . –