Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

シューティングゲーム改: 重力の働く弾と働かない弾を混ぜる #2

Draft
wants to merge 1 commit into
base: step-up-base/version-1.0
Choose a base branch
from

Conversation

tomoto
Copy link
Collaborator

@tomoto tomoto commented Aug 21, 2024

注: このDraft PRは「さらにステップアップ」の説明用です。実際にマージを要求するものではありません。

概要

Chapter 8の「シューティングゲーム改」の開発では、まずは弾に重力が働かず部屋の中を浮遊する版を作成し、次に重力を働かせて弾が床に落ちるようにしました。本ステップアップでは、重力の働く弾と働かない弾がランダムで混ざるようにし、空間コンピューティングならではの非現実的な体験を作り出してみます。

差分の確認とコードの修正

Files changedタブを開いて差分を確認し、アプリを修正してください。

  • Chapter 8の完成プロジェクトから出発します。
  • 修正箇所は ShootingLogic.swiftshoot メソッド内です。
    • + で始まる行を追加、- で始まる行を削除してください。

動作確認

修正後、Vision Pro実機またはシミュレータでアプリを実行してください。重力の働く緑の弾と重力の働かない赤い弾とがランダムで発射されます。

うまく動かないなど、答え合わせが必要な人はこのリンクから本修正適用済みのアーカイブをダウンロードし、Chapter8 フォルダを参照してください。

解説

ソース差分上のコメントを参照してください。

Comment on lines +70 to +72
// 重力が効くかを乱数で決める
let g = Bool.random()
bulletClone.physicsBody?.isAffectedByGravity = g
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

重力が働くかどうかを乱数で決め、PhysicsBodyComponentisAffectedByGravity プロパティを設定します。trueの場合は重力が働き、falseの場合は無重力となります。

Comment on lines +73 to +76
// 重力が効くかによって色を変える
var material = PhysicallyBasedMaterial()
material.baseColor = .init(tint: g ? .green : .red, texture: nil)
bulletClone.model?.materials = [material]
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

重力が働く場合は緑、働かない場合は赤になるように弾のマテリアルを設定します。これによりビジュアル的に挙動がわかりやすく、またいい感じにカラフルになります。

@tomoto tomoto marked this pull request as draft August 21, 2024 05:26
@tomoto tomoto added the さらにステップアップ 「さらにステップアップ」説明用のPull Request label Aug 21, 2024
@tomoto tomoto force-pushed the step-up-random-gravity branch from 93934bf to 6632265 Compare August 21, 2024 16:06
@tomoto tomoto changed the base branch from version-1.0-rc1 to step-up-base/occlusion August 21, 2024 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
さらにステップアップ 「さらにステップアップ」説明用のPull Request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant