【Unity入門】基本的なUIの作り方とゲームクリア、ゲームオーバーの実装方法を解説します【ひろはす】
Тәжірибелік нұсқаулар және стиль
前回の動画はこちら
【超初心者向け】ブロック崩しを作りながらUnityの基本的な使い方を解説します
• 【超初心者向け】ブロック崩しを作りながらUn...
その他参考になる動画
・Unityのインストール方法を解説します
• 【超初心者向け】Unityのインストール方法...
・プログラム超初心者向けに変数と関数の基本を解説します
• 【C# 】プログラム超初心者向けに変数と関数...
目次
0:00 オープニング
2:27 ゲームオーバーとゲームクリア実装
20:15 UIの作り方
31:51 エンディング
このチャンネルはゲーム業界歴約20年の私が、ゲームクリエイターになりたい人や個人でゲームを作っていきたい人、ゲーム会社に就職・転職したい人のために、開発・制作のノウハウや売上の伸ばし方、企画やプログラムのコツ、勉強法など様々な情報を語っていくチャンネルです。
チャンネル登録よろしくお願いします!
ひろはすゲームクリエイター養成所
/ @hirohasu
ひろはすゲーム雑談所
/ @hirohasu2
最新情報はこちら!フォローよろしくお願いします!
【Twitter】
/ hirohasusan
【Instagram】
/ hirohasusan
■プロフィール
ファミコンのスーパーマリオブラザーズに出会いゲームクリエイターを目指し始める。
小学生から個人でゲーム開発を始める。
専門学校卒業後ゲーム会社に3Dグラフィックデザイナーとして就職。
10年間サラリーマンとしてゲームを作った後独立して再び個人でゲームを作り始める。
現在は趣味でゲームを作りながらゲームクリエイターになりたい人を応援するために各種SNSでノウハウを発信しています。
※記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
#ひろはす
#ゲームクリエイターを増やしたい
#Unity
Пікірлер: 170
ブロック崩しゲームに引き続き、UIも作れました!ありがとうございます! ゲームクリア後にボールを消してみるアレンジもできました。 自分の狙った通りにゲームが動いてくれると、感動がすごかったです。とても楽しいです。
プログラミングがわかってゲームも作れるなんてお得だぁ。ひろはすさんのUnity動画は夢が広がります。
いままでわからなかった箇所が全部説明されててとても助かりました。
やっとわかって来た気がします。ひろはすさんの説明は上手い!
前回の動画で作成したゲームがより良くなり楽しいです また別の種類のゲーム作成方法も解説してくださると助かります!
ほんどうに役に立ちました。ありがとうございます!
前回に引き続きできました!!ありがとうございます~!
丁寧な説明本当にありがとうございます! 忘れないようにもう一回造り直します!
できた…! わかりやすくて、最高です!
昨日前回のやつ作ったばかりなのでありがたい!!
今日から取り掛かります。非常に解りやすい解説です😁
こっちもできました!ありがとうございます😊
待ってました!
最近ゲームプログラミングに興味を持ち始めて様々なゲームプログラミングの動画を見てます ひろはすさんの動画は分かりやすいです (直訳したような文章ごめんなさい)
先程、Unityの参考書やひろはす様の動画など参考にしながら作成したサンプルゲームアプリをビルドしました そして所持してる自身のiPhoneSE2でプレイすることに成功しました🙌 ここまで来るのにほんと時間が掛かりました😓 何もかもが手探りでちょっとしたことで躓いて何日も原因が分からなかったり、ビルドするにも設定がおかしかったらしく色々と試行錯誤しながら何とか…やり遂げました🤩 この成功体験を糧に今度はオリジナルの簡単なゲームを作って自分のスマホで遊んでみたいと思います
うおおお!スゲー!! もっとゲームの作り方教えて下さい💖
ひろはすさんのおかげで興味を持ち最近始めました。2Dゲームも解説していただけるとありがたいです。
見ながらやってて違う部分出たら全部やり直しってのいいですね
今まで色変わらないし候補にも出ないしで一人で試行錯誤してたけどひろはすさんが一瞬で解決してくれた。Debugに色が付いた時興奮した。色盲の人が初めて色を見た時こんな気持ちなんだろうなぁって思ったよ。
なんとかこれに加えてタイトル追加できました(4時間かかった)
待ってました
クリア後に気を抜いてボールを下に落とすとGAMEOVERが出てくる。。これは隠された宿題と思って自力で頑張ってみます!!
@user-uw2ll3rz5y
Жыл бұрын
【初心者向け】Unityで脱出ゲームを作る方法を解説しますを見ると解決できました。 kzread.info/dash/bejne/iWWOmbyhmbvTZag.html gamemanager(C#)で、ゲームをクリアした時に以下のコードを差し込む。 Destroy(myBall,gameObject); 最初の変数に public Ball myBall; unityに戻って、gamemanagerのMy BallにBallを格納すると、ゲームクリア時にBallが消えます。
初心者の自分でも細かいところまで、とても解りやすくて楽しく観れました。 このシリーズ楽しみにしています(^^)
半信半疑ではじめましたが、大変丁寧でわかりやすかったです。 次の配信も期待しています。 一つ質問があります、ブロック崩しの途中でボールが同じ位置で跳ね返り状態になるのですが、 回避方法を教えてください。よろしくお願いします。
C#スクリプトでGameManagerなどを指定したあと、Unityに戻ったら インスペクターでも紐づけ指定しないといけないんですよね… これに気づかず、しばらくハマってしまいました 動画はわかりやすくてとても良かったです!
ありがとうございました。
ゲームをクリアしたらボールを消すプログラムを自分で改造して書くことができました! とても勉強になります、ありがとうございます
@nikunohi7105
3 жыл бұрын
どうやったか教えて貰ってもいいですか?
@トリノ
2 жыл бұрын
すごいですね!自分もそのプログラムを入れようとしているのですが、どうすれば良いかまだあまりわかってませんよw
@user-mv5lo9pr6t
2 жыл бұрын
ボールを消すのではなくゲームクリアじゃないならゲームオーバーを表示するに変えたら ボールが下に当たってもゲームオーバーを表示しなくできた! 色々とやり方はある感じですね もうここはこだわり次第ではある
出来ました!!!感激です!!! ただ、Game Clearした後に 後ろのブロックに当たって Game Overもでてきて笑いましたww
@poooocfull
2 жыл бұрын
同じです笑
@user-iq4bt7gd1l
2 жыл бұрын
GAME OVER出ないようにってどうすればいいのでしょうか
@dodyotaro
Жыл бұрын
@@user-iq4bt7gd1l ゲームオーバーになってしまった時と同じように、ボールをゲームクリアしたときに破壊することで解決できましたよ
@user-jj9ni9gl5u
Жыл бұрын
時間かかったけどできました!とっても分かりやすかったです!
部活で困ってて説明書も何から始めていいのか分からなかったので助かります。
暗記して何とか1から作り切ることができました!後はブロックが全て消えたのと同時にボールが消える処理をやってみようと思います!
最後までできました!! ゲームクリアした時に、ゲームが止まる(ゲームオーバーにならない)スクリプトを調べます!
@kumonryushisin
3 ай бұрын
僕もそれ気になります‼︎ もしわかりましたら教えていただきたいです‼︎
キャアアアアア動イタァァァァアア!! リトライすると照明暗くなったり、放っておくとクリアとゲームオーバーが重なったりとまだ不出来やけどww あざっす!!!!!! 引き続き頑張っていきます!!!!!
@TS-nz3vf
3 жыл бұрын
確かにリトライすると暗くなりますね。なんでだろう。^^;
めっちゃいい声してますね
ゲームクリア後にボールを消してゲームクリア・オーバーの両UIを出さない方法を自分なりに考えた結果、GameManagerにpublic GameObject destroy_ball;を追加してvoid updateの中にDestroy(destroy_ball);を挿入。unity内のGameManagerにDestroy_ballがあるからそこにBallを選択することで解決できた! using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class GameManager : MonoBehaviour { public Enemy[] blocks; public GameObject gameover_ui; public GameObject gameclear_ui; public GameObject destroy_ball; //クリア後にボール消す private bool isgameclear = false; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { if(isgameclear != true) { if (DestroyAllBlocks()) { Debug.Log("ゲームクリア!"); gameclear_ui.SetActive(true); isgameclear = true; Destroy(destroy_ball); //ここでボールを消した } } } private bool DestroyAllBlocks() { foreach(Enemy b in blocks) { if(b != null) { return false; } } return true; } public void Gameover() { Debug.Log("ゲームオーバー"); gameover_ui.SetActive(true); } public void GameRetry() { SceneManager.LoadScene("game"); } }
@user-fe8ms8qs1g
11 ай бұрын
ありがてぇ
@user-rb2tp3ze9c
9 ай бұрын
はーなるほど destroyballって箱をゲームマネージャーに作って、その中にボールを入れる で、その箱ごと木っ端微塵にデストロイするって発想なんだ 助かった ずっとボール単体をデストロイする方法で悩んでたからその発想はなかった
@kon2460
9 ай бұрын
ありがとうございます!!できました!!
色々な環境で使わして貰った結果、Unity使うのにmacが最善な気がする(特に初心者は最新型のmacbook airがいいかも)。開発ツールと作成されたライブラリー、VSとXcodeとUnixライブラリーが全て利用出来るのは大きい。Windowsだと、Unixライブラリー、Chromebookだと性能やVSといったものが不足する場合も多い。いずれもgimpやinkscapeやblenderやUnityが使えるのは救い。
出来ました‼️ただボールが縦に行ったり来たりしてしまうので困ってます😁
@user-sn7dq6hh9n
3 жыл бұрын
私も同じ現象が起きて困ってます! ボールが壁に反射する時の入射角が浅いと跳ね返らずに壁に沿うように行き来し続けてしまいます
@user-qk1hz4bm2c
3 жыл бұрын
何か適当にENEMY(敵)を設定してDurationで左右に動くようにしてボールが隙間に入らないようにしました。
コメント失礼します。動画を参考にさせていただきブロック崩しを作ってみたのですが、最初の方にミスでsceneを2つ作ってしまい新しいsceneを作り直してリトライ後それに戻るようにしたのですが、なぜかリトライ後ブロックの色が変わってしまいます。どうしたら直るのでしょうか?
声好きです笑
すごくわかりやすい動画でぼほ完成しました‼︎ ありがとうございました😭 一つわからないところがあって、ゲームをクリアしてゲームクリアとでてもゲームが終わりません。 終わらせようとして後ろの壁にぶつけるとゲームクリアとゲームオーバーが一緒にでてきてしまいます。 どうすれば解決できますか?
blocksをlistにしてcountが1>でもいけるし、そっちのが短いがこっちのほうが初心者むけかな
14:30で配列の型を書く部分を『block』しているのかなと思ったんですけど、型の部分をファイル名にすることはできるんですか?
Block型は他のコメントのとおりGameObject型ならできました。 すみません。解決しました。 自分Blockにつけてるスクリプトの名前変えてたので、それが原因でした。 クラスがなきゃ型はないよなそりゃ笑
クリア画面の上にゲームオーバーが出てしまう点を、ゲームのポーズと再開で解決を試みました。 クリアとゲームオーバーの関数に Time.timeScale=0; の処理を加え、 リプレイに Time.timeScale=1; を加えて再開できるようにしました。 とりあえず思った通りの動きはしてくれましたが、何か間違っている部分や勘違いしている部分がありそうだったら教えて下さい。
シーンを変更したときに、色が暗くなってしまう場合 ウィンドウ→ライティング(Lighting)→シーン(Scene) 一番下、右下?の自動生成のチェックマークを外れている状態で、隣のライティングの生成を実行すると改善されました。 この方法は合っていますでしょうか? なぜ変わってしまうのかは分かりません。
@hirohasu
2 жыл бұрын
合ってます!👍
@asamin361
2 жыл бұрын
返信ありがとうございます。 助かりました!!
VSコードについての質問で申し訳ないんですが、関数にカーソルを合わせたとき、関数についての説明の表示はどうやってやるんですか?
クリアした後にゲームオーバーを表示させないようにしたらすっきりした!
@kumonryushisin
3 ай бұрын
どうやったか教えていただきたいです‼︎
**解決済みです** 23:42 gamemanagerをぶちこんでもNo FunctionかMono Scriptしか出てきません。おおよそ動画の通りのやっているハズなんですが、なにかありがちな落とし穴にはまってしまっているのでしょうか?有識者の方、どうか教えていただきたいです *ヒエラルキーの方からドラッグすることでうまく行きました。プロジェクトの方からドラッグすると上手くいかない事があるようです。 後学の為に残しておきます
unityダウンロードから2日間かかったけどブロック崩し2Dできました(´;ω;`) あれ動かないどこが悪いのかーってやってるのが楽しい ありがとうございます来週はまた違うの試してみます。
25:30のところの、キャンバスのボタンのところで、ゲームマネージャからゲームリトライに変える部分のドロップダウンBOXにゲームリトライがありません。どうすれば良いか教えてください。
@lac-cc9rv
9 ай бұрын
自分も今同じところでつまずいてます…
初めまして、ひろはすさんのチャンネルを拝見してUnityの勉強をしているものですが、繰り返しブロック崩しを作っていてプロジェクトが溜まってきました、PC内から各プロジェクトのファイルをきれいに削除するにはどうするのがいいでしょうか?PCはMacを使っています。
@hirohasu
3 жыл бұрын
Unity Hubのプロジェクトの右端の︙をクリック、「Finderに表示」を選択、Finderで選ばれているフォルダを削除で完全に消すことができますー!👌
@bajitaichi
3 жыл бұрын
@@hirohasu ありがとうございます! 消してまた作ります!
音ゲーとか作ってみてください!(
すみません、動画と関係ないですが初代メタルギアのようなステルスアクションゲームを作るにはどれにすれば良いのでしょうか? 今の所RPGツクール(体験版)を何だかんだしてやってみているのですがなかなかうまく行かないです
@hirohasu
3 жыл бұрын
GameMakerが楽そうですけど、Unityでも普通に作れますよー!👌
@user-uo5bx8hl6t
3 жыл бұрын
返信ありがとうございます!その2つを試してみます!
前回のと合わせて勉強させていただきました!! なんとか動画と同じような所まで完成させることが出来ました! ありがとうございます(*'ω'*)
最近このブロック崩しに色々と付け足すのがマイブームです タイトルをつけて… 効果音をつけて…(壁に跳ね返る音を付けれたのが自分の中で一番やり遂げた感大きいです) とやってきましたが、一つ疑問が… リトライボタンの効果音をつけてみたのですが…鳴らない(^_^;) おそらくはリトライボタンを押してすぐにゲームを再ロードするからなのかな?と思っているのですが、何か対処の方法はありますでしょうか
さっそくやってみました。1回ミスでゲームオーバーは残酷ルールなのでミス3回でゲームオーバーとし、スコアも表示させてみました。ただクリアしたときブロックだけ復元させて残機とスコアはそのまま引き継げるようにするにはどうすればいいのでしょうか? 深夜3時半になってしまったので続きは明日ということで・・・
@user-xh4bj1xw3q
3 жыл бұрын
ブロックを消すときにOnCollisionEnter(Collision collision)のなかでDestroy(gameObject)としていますが、これをgameObject.SetActive(false)とすることで対応しました。ブロックが全部消えたら、プレイヤーがボールを跳ね返すタイミングでforeach (Block b in Blocks) b.gameObject.SetActive(true);とやってすべてのブロックを表示させるという方法で対応しました。この方法で合っていますか?もっとスマートな方法はあるのでしょうか?
@hirohasu
3 жыл бұрын
問題ないと思いますー!
質問失礼します。 ビルド設定でgameを入れたのですが、クリック時()のプルダウンがNoFunctionから増えていないのですが、どうしたら宜しいでしょうか。
@user-tr8qv9wx4z
Жыл бұрын
僕もです
vscode(エディター)の入力補完が出ない人は「.NET Framework 4.7.1」の「開発者パック」をインストールしないとvscode側のプログラムが動かなくてエディタの裏側でエラーになっているかもしれません。私はそれで入力補完が出てきませんでした。ちなみにバージョンは4.7.1じゃないと絶対動きません。そういう依存関係が組まれている?ようです。
ボールが角のほうに行くと、なぜかボールの軌道が真っすぐになってしまって永遠に縦往復しかしなくなるんですけど同じ現象の人いますか?また解決策などあれば教えていただきたいです。
game managerにスクリプトをいれてもblocksの表示が出ません。初めの[]前にあるpublic Blocksは的となるスクリプトを呼び出しているのでしょうか?その場合的となるスクリプトの名前で指定することで表示されるのでしょうか
@user-km9qf6gc2y
2 жыл бұрын
同じ症状です
シリーズ化できませんか?
アセットのところにゲームが出ない・・・25:00
▶︎押して、playのボタンを押したらボールが動くようにできましたー!!!
初めてunity触って今まで順調だったけど、game0verのボタンが反応しないのはなんでだ…?ボールが消えてから反応しない😭
質問です。 コンソールにゲームクリアが無限に表示されないようにする処理で、if(isGameClear!=true)と書きましたが、==falseにしない理由は何ですか? 実際にやってみたらそれでも問題なく動きました。
@hirohasu
2 жыл бұрын
同じように動けば自分が読みやすい書き方でOKですー!👍
いつの間にかアイコン変わってる?!
Blockの配列のやつはBlockの名前のスクリプトを呼び出しているのか、Blockというゲームオブジェクトを呼び出しているのかどちらですか?(語彙力なくてすみません)呼び出すと言うか、、指定?ですか。初心者なのでなんも分かってなくて💦
@hirohasu
2 жыл бұрын
Block[] blocks; なのでブロックのスクリプトを呼び出しています。 GameObject[] blocks; ならゲームオブジェクトを呼び出す形になりますー!
@suke_chos_chos
3 ай бұрын
今さらこれに乗っかってすみません💦 スクリプトを呼び出すのとオブジェクトを呼び出すのはこのゲームの場合何が違ってくるのでしょうか?
リトライを押しても画面が止まるだけで何も動かないんですが何が原因なんでしょう…?
質問です。 動画の25時00分あたりでアセット「game」をクリックする場面があると思うのですが、自分のアセットにはgameとtextを除いた9個しかなくそこで止まってしまっています。 2つのアセットがない原因と、対処方法を教えてほしいです。有識者の方、お願いします…
@user-fx2ey9zl5h
9 ай бұрын
私も同じところで止まりました😅 前動画のUnity入門の6:20~ ファイル→別名で保存 あとは動画通りに操作すれば上手く行きました!
ゲームクリアしたときに、別の難易度に挑戦するとかもやってみたいんですが、そういうやつの説明ってやってますかね...? 追記 ネットで色々調べて、自分でも考えたりしたら、ボタンを押すと別のブロック崩しに進めるのが作れました!
ブロックを空のオブジェクトに入れて、子オブジェクトの数==0の場合にクリア、でもいいですか??
@hirohasu
3 жыл бұрын
全然ありです!👍
ちゃんと作れました!ありがたい。しかし、自分の場合なのですが、リトライするとライトの環境が変わってしまいます。ゲーム上は成立してるのですが、ゲームの再読み込みの時に何かが変わってしまってるのでしょうか?わかりません。
@user-cj8wv7yu7q
3 жыл бұрын
僕も同様の症状が出ておりますが、解決方法がわかりません…
@hirohasu
3 жыл бұрын
謎ですね…シーンがセーブされてないとかですかね…
@miraikashima1116
3 жыл бұрын
『unity シーン切り替え ライト』で調べるとでてきます。 unityのwindow > LightingのScene項目でAuto Generateというところのチェックボックスを外します。(画面1番下) 横のGenerate Lightingを押す。で解決すると思います。(再読み込みのようなロード?が入ります。)
@user-ir7in2oc8g
3 жыл бұрын
@@miraikashima1116 同様の症状が出ていましたが直りました!ありがとうございます!
@ohoho8150
3 жыл бұрын
私はwindows10なのですが、おそらく同じようなことが起こりました。リトライすると画面が暗くなるんです。で、画面の一番上のメニューにあるwindowをクリックでプルダウンしたメニューからレンダリング>ライティングを選び、小さな窓が現れて、その下のほうにある「ライティングの生成」をいじったらなんか改善されたように思います。理由は初心者なので分かりません。(^^;
ゲームクリア時にボールを消す処理を加えた。thành công rồi.
GameManagerをDontDestroyOnLoadするとリトライ後にシリアル化したUIオブジェクトの参照先とクリック時の参照先が消失するのですがなぜだかわかりますか? DontDestroyOnLoadを使わなかったら問題ありません。
タイミングばっちし! 他の初心者向けチュートリアル待ってます
26:19
で、できた。むずかしかった!でもわかりやすい解説のおかげですごく勉強になりました。 次の学習もたのしくがんばります(゚∀゚) 野球シミュレーションゲームをつくるのが最終目標です。 ひろはすさんありがとうございます。
scriptをゲームマネージャーに入れてもblocksが表示されず格納できません。あんな短いコードなのにどうして同じ挙動にならないんだ、、
@Anpan_pan
3 жыл бұрын
今更かもですが、配列名の頭を小文字にしてますか?動画内だと大文字になってますが。
すいませんボールスクリプトにmyManagerが追加されません。 "書き忘れがあり解決しました 失礼いたしました"
なぜかGame over だけ映りません
ボールが下の壁につくと、「NullReferenceException:Object reference not set to an instance of an object ball.OnCollisionEnter(UnityEngine.Collision collision)(at Asset/ball.cs:29) 」とエラーが出ます。😢
@user-ik4cz6ge7c
Жыл бұрын
解決しました!
フォルス派です!20歳です!
@hirohasu
3 жыл бұрын
安心しました!笑
@user-qk1hz4bm2c
3 жыл бұрын
私もフォルスです。
出来たけど、、、 ゲームクリアした後、ボールが落ちると、ゲームオーバーの文字が重なって出てきます。
自分が数日かけて勉強した知識を30分ちょいで網羅してて草が生えました。 プログラムに関する質問なんですけど、よくあるブロック崩しのようにパドル(プレイヤー)のボールを受ける位置によって反射する方向や速度が変わる処理が調べてもわかりません…。ちなみに圧倒的数弱です。
@user-ik7hk5wp5u
3 жыл бұрын
例えばボールとパドルのx座標の差によって、ボールにaddforceしてあげるとかいかがかね。 そういう細かい処理は調べても出てこない事が殆どなので、自分で考えるしかないっすね;;
@pawapoke33
3 жыл бұрын
@@user-ik7hk5wp5u ふむふむなるほど…。確かにこうゆうところは自分で考えるしかないですよね。というか自分で作りたいから始めたのに、目的を見失ってました…wアドバイスありがとうございます!
ゲームクリアでボール消せました!
有識者の方に質問です。 ゲームオーバーの処理をBallのスクリプトではなく、ゲームクリアと同様にGameManagerのスクリプトで制御したいです。 しかしボールの当たり判定を得て処理するOnCollisionEnter()はBallのスクリプト内でしか使えないかと存じます。 そこで、「GameManagerのスクリプトから、ボールが何かに当たったかを判別して処理するメソッド」あるいは「この問題を解決する他の考え方」について教えていただきたいです。 さらに、今回のような細かい疑問点について自分で調べる場合、どのようなワードで検索してみるか教えていただきたいです。 一年以上前に投稿された動画にこんなコメントをして申し訳ないですが、どなたか。。。
@hirohasu
2 жыл бұрын
GameManagerの中にpublicでゲームオーバーのメソッドを追加 BallのOnCollisionEnterでGameManagerのそのメソッドを呼ぶ という感じの実装になると思います👌
@genking10
2 жыл бұрын
@@hirohasu おお!ありがとうございます!大変参考になりました!
シーンマネージャーがありません
@user-ko3tu1ie8j
7 ай бұрын
UnityEngine.SceneManagement.SceneManager.LoadScene("game")にすると出来ますよ
複数のボールを作ってて、全部のボールが無くなったらゲームオーバーにしたいんですけれども、 分かる人いますか?
retryしたら画面が暗くなるのはなんでだ?
@user-rn1yb1kj4z
3 жыл бұрын
私も同じ症状です...なぜなんでしょう...
ブロック壊れてないのにコンソールにゲームクリアが止まらないのなーぜなーぜ? ▷ボタン押したらエラー出て進まないのなーぜなーぜ?
15:27 なんで下のコンソールにゲームクリアが複数回に出力されてたんでしょうか。「複数回出力するよ」ってどこにも書いていないのに。。。教えていただけますか。
@user-fm6kt3ld2p
3 жыл бұрын
update関数って1フレームごとに実行される関数なので、1フレーム動くごとにログが出力されることになります。
CS0246というエラーが出るのですがこれはなんですか?
出来ました!ですがクリアの画面が出たあとボールが下の壁に当たるとダブってゲームオーバーが出てきてしまいます 後、リトライ押した時何故か画面が少し暗くなってしまいますどうすれば良いでしょうか?
@asamin361
2 жыл бұрын
自分も同じく色が暗くなってしまいました。。。 どうしたらいいのかわからないです。 クリア後はボールを破壊することでダブって出ないようにしてみました。 GameManager内 public Ball Clear; //←BallのScriptsをくっつけてみました。 void GameClear() { CrealUI.SetActive(true); Destroy(Clear.GameObject); }
@nikunohi7105
2 жыл бұрын
@@asamin361 ありがとうございます ダブルやつ真似させてもらいます! やっぱりすこしくらくなりますよね笑
@Bajilun
2 жыл бұрын
if( isGameClear == false) 別解になりますが、私はこの文を入れてダブらないようにしました
リプレイのボタン押したら暗くなるの僕だけ?
ちゃんとpublic Block[ ] blocks;と入力したのにゲームマネージャーの下にBlocksの変数が出てきません。何が間違っているのでしょうか。
@hiroboto008
Жыл бұрын
「Block」の部分には、ブロックに入れたC#スクリプトの名前が入ります。動画内ではスクリプト名が「Block」になっていたのでそのように入れてありますが、あなたが違う名前で作っていた場合にはその名前に置き換えて入力してみると治ると思います。
@user-me8no7bg4w
Жыл бұрын
BlockをBlok にすると出来ました。前に作ったスクリプトの名前がBlokになっていてcが抜けていたようです。
@the_kid777
Жыл бұрын
@@user-me8no7bg4w ありがとうございます!直りました👍
どなたか、このfor文の中のif文、、配列の中身をすべて条件に合致してるかどうかを確認するコードが理解できても身に染みてない人いませんか? なんか、調べても情報が中々ないし、、、なんか良い言い回しみたいなのないですかね、、、、、 やってることは理解出来るし、良く使われているんですけど、、、自分で利用する際に思いつかなくて、、、、、、困った、、、、
@naga4127
Жыл бұрын
やっぱ、慣れすかね~、、、、、
いちこm
Uiが出なくて鬱になりそう わかる人教えてください public block[] blocks; public GameObject gameOverUI; public GameObject gameClearUI; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { if(DestroyAllblocks()) { Debug.Log("kuria"); gameClearUI.SetActive(true); } } private bool DestroyAllblocks() { foreach (block b in blocks) { if (b != null) { return false; } } return true; } public void GameOver() { Debug.Log("負け犬"); gameOverUI.SetActive(true); } public void GameRetry() { SceneManager.LoadScene("game"); } }
@user-uq6pe9zd3w
3 жыл бұрын
自分はpublic block[] blocks;とforeach (block b in blocks)の行の、 型指定しているところがエラー吐いてたので block[] をGameObject[]に、block b をGameObject bにしたらうまくいきましたね。解になってるかわかりませんが参考になれば
@user-ge3qp6rq6p
3 жыл бұрын
@@user-uq6pe9zd3w ありがとうございます。 直してもエラーが増えていったので諦めました
@kou.3760
2 жыл бұрын
「using UnityEngine.SceneManagement;」が一番上に書いてないとか。動画だと自動でエラー補正が出ますが、自分の環境では出なかったので上に書きました。
@zwarte_kat
Жыл бұрын
@@user-uq6pe9zd3wそこのエラーで困ってたので本当に助かりました!ありがとうございます!
試したのですが、ゲームクリア後にボールが下の壁にぶつかった時ゲームオーバーとなり、ゲームクリアとゲームオーバーの表記が重なってしまいます。これは仕様でしょうか?
@nunu-go2le
3 жыл бұрын
ブロックがすべて消えていない場合にゲームオーバー表記が出るように条件を追加することで解決できました。 public void GameOver() { foreach (Block b in blocks) { if (b != null) { Debug.Log("ゲームオーバー"); gameOverUI.SetActive(true); } } } 上記のように追加してみたのですが、より良い方法があれば教えていただけますでしょうか。
@user-Lieester
2 жыл бұрын
ありがとうございます! 参考にさせていただきました!