にゃんたのUnityゲーム開発覚え書き

Unityのゲーム開発についてあれやこれや書いていきます。

素人がUnityでブロック崩し作ってみた_-_⑦

ゲーム内容以外はよいかんじになってきたな。笑

ひとつ前の記事で、ここまでやるぜ!と意気込んでみたけど、また何とかたどり着けた。

小規模な目標でやっていくとモチベ維持できていい感じ。

※前回の記事はこちら

a-zero.hatenablog.com

 

 

今日の目標

今日掲げた目標はこちら

  1. ゲームオーバー後のリトライ、タイトルに戻るボタン&遷移追加
  2. ゲーム画面中の一時停止、タイトルに戻るボタンの追加
  3. タイトルからゲーム画面遷移後の暗くなる件の解決
  4. なんか音出してゲーム感をだしたい

 

何とか形になりました。

完成形がこちら。

youtu.be

 

 

①ゲームオーバ後のリトライ、タイトルに戻るボタン&画面遷移実装

これはタイトル画面からゲーム画面に遷移するのと同じ仕組みを利用したので、すぐ解決。
復習だけど、シーン遷移はこれで可能。
 SceneManager.LoadScene("GameScene");
 ※「GameScene」がシーン名
 
 オブジェクトをクリックしたときの判定にはRaycastを利用する
 ※ここらへんでRayについてはまとめられています

megumisoft.hatenablog.com

 

②ゲーム画面中の一時停止、タイトルに戻るボタンの追加

 以下参考に、実装
 

gametukurikata.com


 
UIのPanelとButtonを配置し、Clickイベントにオブジェクトを表示/非表示にする処理を記述
 gameObject.SetActive (false);
 ※falseが非表示でtrueが表示

gameObjectはpublicにしてUnity側から指定するか、Find("オブジェクト名")とかでとってきて変数化しておけばよいです。

 

③タイトルからゲーム画面遷移後の暗くなる件の解決

シーン移動を行った時に暗くなって欲しく無いシーンを開いて、Window>Lighting>Settingsをまず開く。
そのあと、Settings画面で、下の方にある「Auto Generate」のチェックを外し、横の「Generate Lighting」をクリックする。
クリック後にロードがあるため、それを待ってシーンを保存すればOKとのこと。
やってみたら、Unityで見えている状態とゲーム実行時の状態が同じに!!!!!

 

※以下参考にしてます。白うさぎのIT学習帳さんありがとうございます

siro-on.hatenablog.com

 

④なんか音出してゲーム感をだしたい

UIコンポーネントのAudio Sourceを使っています。

配置して、音をオブジェクトにドラッグアンドドロップでひもづけるだけで、ゲーム中に流れる音楽は簡単に流せる。シーン起動時に音を出すかどうかの設定を

「Play On Awake」でチェックぼっくして設定できるからここいじるだけ。

f:id:sirosiro346:20170914222140p:plain

 

当たった瞬間にまたは、ボタン押したときに音を出すソースはこんな感じ

 

//public変数で効果音をUnityから設定
public AudioClip audioClip1;

 

// 当たったときの処理内に以下を追記
audioSource.PlayOneShot(audioClip1);

 

フリー音楽で有名な、魔王さんからいくつか拝借

全曲無料・フリー音楽素材/魔王魂

 

※Unityで音を鳴らす場合には以下参考にしてやりました

http://qiita.com/amano-kiyoyuki/items/43fa92cce1a44a8030b5

 

 

今日も何とか形になってよかった。

あとはブロック崩し自体のゲームシステムに少し手を加えて、

もう少しゲームっぽくしたら一旦完了かなー

出来上がり次第でどう思うかだけど。笑

 

一旦今日はここまでー

また明日以降やりますーノシ