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