Ich versuche ein Bild zu meinem Ball in meinem Swift 2 Sprite-Kit Spiel hinzuzufügen. Ich habe eine make()
Ball Funktion und es gibt es keine Fehler gibt es jedoch in der Spielszene, wenn die Methode aufgerufen wird, ich diesen Fehler halten Empfang:Ein Bild einem SKShapeNode als Ball zuweisen - Spritekit Spiel
„Kann nicht zuweisen SKShapeNode‘ Ball zu geben
! ich bin nicht sicher, wie sie zu beheben und bin neu in Swift
// ----- GameScene.Swift ----
class GameScene: SKScene, GameDelegate, SKPhysicsContactDelegate {
// ball part one
var ball: Ball!
let ballSpeedX = CGFloat(500)
}
override func didMoveToView(view: SKView) {
// ball
ball = Ball.make() // error!!!
ball.position.x = CGRectGetMidX(self.frame)
ball.position.y = CGRectGetMidY(self.frame)
ball.physicsBody!.categoryBitMask = CollideType.Ball.toMask()
ball.physicsBody!.collisionBitMask = CollideType.toMask([.Scene, .Ceil, .Floor]) | boards.usedCollideMasks
ball.physicsBody!.contactTestBitMask = CollideType.toMask([.Scene, .Ceil, .Floor]) | boards.usedCollideMasks
ball.hidden = true
self.addChild(ball)
}
und das ist Ball.swift wo die make()
ist.
//Ball. Swift
//imports...
class Ball: SKShapeNode {
var speedXFirst = CGFloat(0)
var speedXSecond = CGFloat(0)
var lastFloor = -1
var xSpeed: CGFloat {
get {
return speedXFirst + speedXSecond
}
}
var lastBoardNumber = 0
private override init() {
super.init()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
static func make()-> SKShapeNode {
let textureBall : SKTexture! = SKTexture(imageNamed:"colorBall.png")
let ballSize: CGSize = textureBall.size()
var ball = SKShapeNode.init(circleOfRadius: ballSize.width/2)
ball.fillTexture = textureBall
ball.strokeColor = UIColor.clearColor()
ball.name = "ball"
ball.zPosition = 1
ball.fillColor = UIColor.redColor() // use the color you want
return ball
}
func freezeX() {
self.speedXFirst = 0
self.speedXSecond = 0
}
}
Dank, mit all diesen Code, in meiner Spielszene 'ball = Ball (imageNamed:" colorBall.png ")' wirft Fehler: Erwartete Deklaration. –
Ändern Sie Ihre ball.swift mit meinem Code in Antwort –
ich tat, ich habe auch die Gamescene und es wirft die erwartete Deklaration Fehler –