-
Notifications
You must be signed in to change notification settings - Fork 0
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
base: step-up-base/version-1.0
Are you sure you want to change the base?
Conversation
// 重力が効くかを乱数で決める | ||
let g = Bool.random() | ||
bulletClone.physicsBody?.isAffectedByGravity = g |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
重力が働くかどうかを乱数で決め、PhysicsBodyComponent
の isAffectedByGravity
プロパティを設定します。trueの場合は重力が働き、falseの場合は無重力となります。
// 重力が効くかによって色を変える | ||
var material = PhysicallyBasedMaterial() | ||
material.baseColor = .init(tint: g ? .green : .red, texture: nil) | ||
bulletClone.model?.materials = [material] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
重力が働く場合は緑、働かない場合は赤になるように弾のマテリアルを設定します。これによりビジュアル的に挙動がわかりやすく、またいい感じにカラフルになります。
a9fa5e3
to
1fca32e
Compare
93934bf
to
6632265
Compare
1fca32e
to
a9fa5e3
Compare
注: このDraft PRは「さらにステップアップ」の説明用です。実際にマージを要求するものではありません。
概要
Chapter 8の「シューティングゲーム改」の開発では、まずは弾に重力が働かず部屋の中を浮遊する版を作成し、次に重力を働かせて弾が床に落ちるようにしました。本ステップアップでは、重力の働く弾と働かない弾がランダムで混ざるようにし、空間コンピューティングならではの非現実的な体験を作り出してみます。
差分の確認とコードの修正
Files changedタブを開いて差分を確認し、アプリを修正してください。
ShootingLogic.swift
のshoot
メソッド内です。+
で始まる行を追加、-
で始まる行を削除してください。動作確認
修正後、Vision Pro実機またはシミュレータでアプリを実行してください。重力の働く緑の弾と重力の働かない赤い弾とがランダムで発射されます。
うまく動かないなど、答え合わせが必要な人はこのリンクから本修正適用済みのアーカイブをダウンロードし、
Chapter8
フォルダを参照してください。解説
ソース差分上のコメントを参照してください。