私はゲームをうまくやるための学校プロジェクトを持っていますが、私は戻るボタンを追加するのに苦労しています。私はメニューにあなたを連れて行く言葉をクリックするアイデアがあったが、私はそれを行う方法がわからない。通常の「ボタン」は、スプライトキットのシーンから戻ってくるため、使用できません。どんな提案や助けもありがとうございます。iOSでラベルをタップしてシーンを変更することはできますか?
答えて
ここに行く:
MenuVC.swift:
enum gameType {
case easy
case wobble
case player2
}
var currentGameType: gameType = .easy
var navController = UINavigationController()
var storyBoard = UIStoryboard()
func presentMenuVC() {
let menuVC = storyBoard.instantiateViewController(withIdentifier: "menuVC") as! MenuVC
navController.pushViewController(menuVC, animated: true)
}
class MenuVC : UIViewController {
@IBAction func Player2(_ sender: Any) {
moveToGame(game: .player2)
}
@IBAction func Easy(_ sender: Any) {
moveToGame(game: .easy)
}
@IBAction func Wobble(_ sender: Any) {
moveToGame(game: .wobble)
}
func moveToGame(game: gameType) {
navController = self.navigationController!
storyBoard = self.storyboard!
let gameVC = self.storyboard?.instantiateViewController(withIdentifier: "gameVC") as! GameViewController
currentGameType = game
self.navigationController?.pushViewController(gameVC, animated: true)
}
}
NewFile.swift:
class MainMenuButton: SKSpriteNode {
init(text: String, font: String) {
let label = SKLabelNode(text: text)
label.fontName = font
let texture = SKView().texture(from: label)
super.init(texture: texture!, color: .clear, size: texture!.size())
isUserInteractionEnabled = true
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
presentMenuVC()
}
required init?(coder aDecoder: NSCoder) { fatalError() }
}
GameScene.swift(下部のごdidMoveToViewのFUNCに追加):
addChild(MainMenuButton(text: "go back", font: "Chalkduster"))
私はnewFile.swiftという名前のファイルを作成し、コードをコピーしましたが、私は複数のエラーを受け取りました。未解決の識別子、宣言されていない型。私はそれが間違っていたと思う。 – James
私はあなたにプロジェクトを電子メールで送りました。 – Fluidity
私はこれをお勧めしません。メモリが正常に機能している場合は、別のView Controllerの上にView Controllerを追加するだけで、私はこのようなものを扱うためにストーリーボードにセグを作ることに目を向けます – Knight0fDragon
普通のUIButton
をSKView
に追加できますが、これは最もクリーンな解決策ではありません。代わりにSKLabelNode
のタッチ機能はtouchesBegan
とtouchesEnded
のようになります。私はこの方法でSpriteKit
のボタンを簡単に実装しました。あなたはGitHub hereでそれをチェックアウトすることができます。
- 1. iOS UIPageControlは左右にタップしたときの動作を変更します
- 2. (Delphi)ラベルを.htmlファイルのwhatsに変更することはできますか?
- 3. iOS - statusBarStyleをカスタムカラーに変更することはできますか?
- 4. コンパイル済みiOSアプリのアイコンを変更することはできますか?
- 5. ios用のスナックバーのBackgroundColorを変更することはできますか?
- 6. iOSのスプラッシュ画面にラベルを追加することはできますか?
- 7. ionic2のiosバンドルIDはどこで変更できますか?
- 8. コンテンツページを読み込むときに、マスターページ内のラベルのテキストを変更することはできますか?
- 9. テーブルビューのラベルをタップしますか?
- 10. JAVAFXでシーンを変更しているときにNullPointerExceptionが発生する
- 11. tkinterでラベルを更新することができません
- 12. ビューからシーンに戻ることはできますか?
- 13. JavaFXでシーンを変更するときにコントローラーを変更する必要がありますか?
- 14. 同時にシーンを設定してシーンを変更する
- 15. アプリアイコンをプログラムで変更することはできますか?
- 16. OpenLayersでサイズを変更することはできますか?
- 17. LineChartでドットサイズを変更することはできますか?
- 18. LibToolingでヘッダを変更することはできますか?
- 19. VBAで「リスナーを変更する」ことはできますか?
- 20. Hybrid maptypeをStyledMapTypeとして変更することはできますか?
- 21. OpenEars(iOS)の音声を変更することはできます
- 22. AJAXを使用してクエリーセットを変更することはできますか?
- 23. リクエストメソッドを変更してリクエストを転送することはできますか?
- 24. powershellを使用してファイルエクスプローラビューを変更することはできますか?
- 25. coutは何を変更することはできますか?
- 26. JavaFX - シーン - 別のシーンの変数を変更します。
- 27. Googleの棒グラフでは、1つの軸ラベルのスタイルを変更することはできますか?
- 28. iOSステータスバーをタップしてスクロールします。
- 29. JavaFXのサイズ変更ウィンドウなしでシーンを変更する
- 30. 私のラベルのz位置を変更することができません
ごめんなさいなぜあなたはこれを昨日私に教えてくれなかったのですか? – Fluidity
@Fluidity私はそれについて考えましたが、あなたはすでに私を助けてくれるように多くの時間を費やしていたと思っていましたし、もはやahahaを無駄にしたくないと思っていました。私はデッドラインを水曜日に移動することができたので、時間があればこれで助けてくれれば嬉しいでしょう:) – James
私はUIKitですばらしいわけではありませんが、これはすでにこの回答があると確信しています – Fluidity