🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
SpriteKit

SpriteKitは、iOSやOS Xで使用できるApple社製の2Dゲーム開発フレームワークです。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

621閲覧

spritekitでシーンの切り替えが上手く出来ません

tsuneet

総合スコア16

SpriteKit

SpriteKitは、iOSやOS Xで使用できるApple社製の2Dゲーム開発フレームワークです。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/09/25 02:47

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
swiftのspritekitで簡単なゲームを作ろうとしています。
viewController.swiftからMainSceneにシーンを切り替えようとしていますが、思うようにいきません。MainScene.sksに設定している文字ラベルは表示されますが、MainScene.swiftの内容はうまく動いてくれません。
下記のようにMainScene.swiftの最初に立ち上がるdidMove内にprint("test")をコードしていますがそれすらも動きません。

もともと、viewControllerから別のgameSceneをしていて、その切替はうまくいっていたのですが、新しくmainSceneを作ってそちらに誘導しようとしたのですが、それが全くできなくなってしまった状態です。1日色々やってもどうしてもできなくなってしまったので質問させていただきました。

発生している問題・エラーメッセージ

エラーは表示されません。
MainScene.swiftに設定しているラベルなどが表示されません。
MainScene.sksに設定している文字だけが表示されます。
右下のFPS表示は正常です。

該当のソースコード

swift

//【mainScene.swift】ファイルのコード

import SpriteKit
import GameplayKit
import CoreMotion
import Foundation
import UIKit

class mainScene: SKScene {
override func didMove(to view: SKView) {
print("test")
}
}

//【viewController.swift】ファイルのコード

import SpriteKit
import GameplayKit
import CoreMotion
import Foundation
import UIKit

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: "MainScene") { // 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 } }
### 試したこと ### 補足情報(FW/ツールのバージョンなど) XCODE11です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

とりあえず以下を確認すると良いでしょう。

  • view.presentScene(scene)まで処理が到達しているかを確認
  • シーンファイルのCustom ClassにmainSceneが指定されているかを確認

投稿2019/09/25 06:11

takabosoft

総合スコア8356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsuneet

2019/09/25 22:06

お返事頂きありがとうございます!カスタムクラスの設定を出来ていませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問