Unityで画像の切り替え方法を探している方向け。
例えばプレイヤーが爆弾に触れた時に爆弾の画像を爆発した画像に切り替えるような感じです。
コピペできるようにコード付きで本記事にてわかりやすく解説します。
この記事は以下のような方を対象者としています。
- ゲームアプリ開発に興味がある方
- ゲームアプリを個人開発している方
- Unityで画像の切り替え方法がわからない方
目次
Unity2Dでの画像切り替えの参考例
まずはこちらのgif画像をご覧ください。
キャラクターが爆弾の画像に衝突した時に、爆発後の画像に切り替わっています。
こちらのやり方を本記事にて詳細に説明していきたいと思います。
また今回参考例として使うアプリは、先日開発したJumping Quest(ジャンピング クエスト)という2Dゲームアプリを使って説明していきます。
小さいドット絵調のウサギがジャンプひとつで様々な世界を冒険するというコンセプトのゲームです。
ダウンロードして遊んでいただけると泣いて喜びます!
1.画像切り替え用のSpriteを用意する
まずは画像を表示するためのSpriteを生成しましょう。
Spriteとは簡単に言うとUnity2Dで使われる画像データです。
まずは添付画像のようにGameObject->2D Object->Sprites->Squareを選択しましょう。
するとゲーム画面上に白い四角の画像が表示されます。
2.Spriteに衝突できるようRigidbody2DとBoxCollider2Dを設定する
この辺りは本題にあまり関係がないので簡潔に説明します。
Rigidbody2DをSpriteにセットすることで物理挙動がつけられるようになります。
BoxCollider2Dはオブジェクトに衝突ができるようになります。
また、今回はキャラが爆弾の絵にぶつかっても爆弾自体の位置は動かしたくないので下記添付画像の通り値をセットします。
gravity(重力)を0にすることでオブジェクトが落下しないようにできます。
また、Freeze Position(位置固定)/Freeze Rotation(回転固定)でオブジェクトの位置や回転を制御できます。
3.ImageReplaceスクリプトを作成する
続いて本題の画像切り替え用のスクリプトを作成します
先ほど作成したSpriteをクリックし添付画像の通りimageReplace.csファイルを作成&追加しましょう。
そしてこちらのスクリプトをコピペしてください。
1 |
|
こちらのスクリプトにより、元画像の描画コンポーネントを取得し、爆発後の画像に置き換えることができます。
スクリプト作成後は保存を忘れないようにしましょう。
4.元画像と切り替え用画像をSpriteにセットする
続いて先ほど作成したimageReplaceファイルにdefaultImageとexplodeImageの欄が追加されているのを確認しましょう。
もし追加されていなければ、ファイルの保存が失敗しているか誤記がある可能性があります。
追加されているのが確認できたら、それぞれ爆弾の画像と爆発後の画像をドラッグ&ドロップでセットします。
これで完了です。
さいごに
ここまでお読みいただきありがとうございました。
2Dゲーム開発未経験でも、仕事をしながらでも頑張って勉強すれば独学でゲーム開発はできると思います。
ぜひこの記事を読んで「僕も/私もゲーム作るぞっ」てなった方がいらっしゃれば嬉しいです。
僕のブログサイト「kzy.tech〜日本脱出のための教科書〜」がどのようなサービスで作られているかが気になる方は以下別記事にてご説明していますので、ご覧いただけますと小躍りして喜びます💃
また、海外移住の 英語とプログラミングを習得することを推奨しています。
これは私の経験則から言えることですが、上記二つのスキルがあれば海外移住は絶対に実現できます。
以下に僕が実際に使って効率よくプログラミング学習ができるおすすめサービスを載せます😌
速習!おすすめプログラミング勉強法【Udemy】
いくつかプログラミング学習サービスを利用しましたが、一番効率よく勉強できると感じたのはUdemyでした。
Udemyでは動画での説明や解説等もあり親切で、学習教材も豊富にあることから プログラミング初学者の方が短期間でエンジニアを目指したいのであれば、非常に良い教材だと思います。
ちなみに私は文系卒で社会人になってから独学でudemyを使ってプログラミングの勉強をして、実際にエンジニアとして採用されました
Udemyのコースは1つ1,000円ほどなので、ITの参考本を一冊(3,000円)を買うよりもUdemyのコースを購入する方が安い上により効率的にプログラミングを勉強できると思います。
世界最大級のオンライン学習サイトUdemy
また、別記事にてダナンでの生活やIT関連についても記事を書いていますのでクリックいただけると嬉しくて踊ります💃