簡體   English   中英

類成員未出現在GameScene.swift中

[英]Member of class not showing up in GameScene.swift

我正在嘗試制作一個游戲,讓您擁有一頭豬,然后滑動或按住豬的移動。 我為我的豬准備了上課,但是在GameScene.swift出現了一個錯誤,說guy不是porker 請幫忙。

        import SpriteKit
        import UIKit

    class GameScene: SKScene {
    var porker:Porker!
    var touchLocation = CGFloat()
    var gameOver = false


    override func didMoveToView(view: SKView) {
        addBG()
        addPig()
    }

    func addBG() {
        let bg = SKSpriteNode(imageNamed: "bg");
        addChild(bg)
    }

    func addPig() {
        let Pig = SKSpriteNode(imageNamed: "pig")
        porker = Porker(guy:Pig)
        addChild(Pig)
    }

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {


        for touch: AnyObject in touches{
            if !gameOver {
                touchLocation = (touch.locationInView(self.view!).y * -1) + (self.size.height/2)
            }

        }
        let MoveAction = SKAction.moveToY(touchLocation, duration: 0.5)
        MoveAction.timingMode = SKActionTimingMode.EaseOut
        Porker.guy.runAction(MoveAction)    }



    override func update(currentTime: CFTimeInterval) {
        /* Called before each frame is rendered */
    }
}

這是豬班

import Foundation
import SpriteKit

class Porker {

    var Guy:SKSpriteNode
    var speed = 0.1

    init(guy:SKSpriteNode){
        self.Guy = guy
    }
}

首先,變量/常量/參數名稱應以小寫開頭,因此不要將它們與類名稱混用。 例如,

class Porker {
    var guy:SKSpriteNode
    var speed = 0.1

    init(guy:SKSpriteNode){
        self.guy = guy
    }
}

內心開始了:

let moveAction = SKAction.moveToY(touchLocation, duration: 0.5)
moveAction.timingMode = SKActionTimingMode.EaseOut
porker.guy.runAction(MoveAction)

希望能解決問題!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM