質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.49%
SpriteKit

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

Swift

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

Q&A

解決済

1回答

2091閲覧

SpriteKitのフラッピーバードのようなゲームを作っています。removeFromParent()についてです。

tomichi

総合スコア16

SpriteKit

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

Swift

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

0グッド

0クリップ

投稿2020/06/19 15:04

前提・実現したいこと

現在、フラッピーバードのようなアプリを作っています。アイテムを画面上に表示して、それにプレイヤーが操作している鳥が衝突するとアイテムが消えるようにしたいです。このコードだと、一度アイテムと鳥が衝突してしまうと二度とアイテムが表示されません。当たったアイテムだけ消すためにはどのような処理をしたらいいでしょうか?

該当のソースコード

Swift

1if (contact.bodyA.categoryBitMask & coinCategory) == coinCategory { 2 3 coinNode.removeFromParent() 4 score1 += 1 5 score1LabelNode.text = "ItemScore(score1)" 6 self.run(action) 7 8 }else if (contact.bodyB.categoryBitMask & coinCategory) == coinCategory{ 9 10 coinNode.removeFromParent() 11 score1 += 1 12 score1LabelNode.text = "ItemScore(score1)" 13 self.run(action) 14 } 15### 試したこと 16 17ネットを調べましたが、なかなか探せません... 18 19### 補足情報(FW/ツールのバージョンなど) 20 21score1とはアイテムに当たるたびに加算されていく数字です。 22また、self.run(action)とは、アイテムと鳥が当たった時の効果音です。

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

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

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

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

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

guest

回答1

0

ベストアンサー

coinNodeがどのようなものかわかりませんが、こんな感じでどうでしょうか?
coinNode.removeFromParent()

contact.bodyA.node?.removeFromParent()
とりあえず当たったものは消えます。

投稿2021/03/06 16:35

tedikuma1

総合スコア18

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

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

tomichi

2021/04/09 08:09

ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問