が、私はここだと思うshowMessage()
FUNCを呼び出しますUIKitとSpriteKitの間です。
ViewController
にはメンバーがいませんaddChild
、あなたはSKNode
オブジェクトについて話すと思います。 SpriteKitベースで
、あなたがSKView
としてビューをキャストする必要があり、すべての最初の、SKNode
要素またはSKNode
を継承するオブジェクトを表示したい場合はの「Hello、例えば説明したように、その後SKScene
をインスタンス化し、提示世界」プロジェクト:
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if let scene = SKScene(fileNamed: "GameScene") {
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFill
// Present the scene
view.presentScene(scene)
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
}
class GameScene: SKScene {
override func didMove(to view: SKView) {
print("This is my GameScene, here I could show my SKLabelNode")
}
}
また、SpriteKitベースにあなたが新しいSKScene
を提示したり、直接表示することができ、あなたの要素を表示するのViewControllerを変更する必要はありませんあなたも行うことができますあなたの機能についてあなたを助けるためにSKNode
:
func showMessage(message: String, color: UIColor,pos:CGPoint)->SKLabelNode{
let messageLabel = SKLabelNode(fontNamed: "Verdana")
messageLabel.text = message
messageLabel.fontSize = 15
messageLabel.fontColor = color
return messageLabel
}
使用:
let messagePos = CGPoint(x: self.size.width/2, y: self.size.height/2)
let messageLabel = showMessage(message:"Test Message", color: UIColor.green, pos:messagePos)
self.addChild(messageLabel)
'StartViewController()'新しい 'StartViewController'を初期化してからさメソッドを呼び出します。現在の 'StartViewController'を参照する必要があります。 – Caleb
@Calebお返事ありがとうございます!私はそれをどうやってできるのか尋ねてもいいですか?私はこれについてGoogleでチュートリアルを見つけることができません。 –
@stefffeyensこんにちはsteff、あなたはXCode 8 - ファイル - 新規 - プロジェクト(タブアプリケーション)で便利なプロジェクトを見つけ出し、ゲームを選択することができます。ここでは、「Hello world」というラベルを持つSpriteKitのデモがあります。それがあなたを助けることを願っています。 –