Unity 22日目

AのコンポーネントをBのスクリプトの中で引数として使用するとき public PlayerUIManager playerUI; public PlayerManager player; A void Start(){ playerUI.UpdateUI(player);} B public void UpdateUI(PlayerManager player) { hpText.text = string.Form…

21日目 Unity 関数の中で他のスクリプトの関数を呼び出したいとき

お久しぶりです( ´∀` ) (誰も見てない) 本日は関数の受け渡しについて復習したいと思います。 例えば、、 スクリプトA public PlayerManager player;public EnemyManager enemy; void Start() { player.Attack(enemy); enemy.Attack(player); } スクリプ…

20日目 Unity 連想配列(Dictionary)

//配列の宣言 Dictionary<string, int> a = new Dictionary<string, int>() { {"item1",8}, {"item2",4}, {"item3",12}, }; //上書き a["item1"] = 3; //要素の削除 a.Remove("item1"); //要素の初期化 a.Clear(); 例文 //Dictionary生成 Dictionary<string, int> scores = new Dictionary<string, int>() { { "国</string,></string,></string,></string,>…

Unity 19日目

本日はシーン、ボタン、Imageのタップの取得や、Prefab化、オブジェクトの生成や破壊、セーブ、Json化などを復習しました。 前回学習時はゲームの基本的な動作に関わる部分のみで演出までは進めていませんでした。今回は最初から復習したということもあり、…

Unity 18日目

C#のクラス作成は、プレイヤーや敵などをクラスごとに管理して、使うときにはそこにある関数を持ってくるのはわかりました。 しかし、プロパティという考え方がいまだに理解できず。。。 もしも今後使う機会があれば、優先的に復習したいと思います。(`・ω・´)b…

Unity 17日目

本日は3のつく数字を要素とするリストを返す関数を作成しました。 特に難しかったのが3のつく数字の判定でした。 この場合、新しく作った関数で判定し、Bool型で返すとすっきりします。 <例えば34251のとき> 1桁目→5桁目の順で判定をするとします。 1桁目…

Unity 16日目

お久しぶりです。 コロナウイルスの影響で自宅待機だったものの、ここ1か月は通常通りに出社に…。 ブランクがあったのと、新しくできた後輩への教育もあり、なかなか時間が取れませんでした。そのためモチベーションがあがらず(´;ω;`) 本日はまたまたC#の復…

Unity 15日目

仕事から帰ってきて、30分だけ復習、、、汗 C#の基礎 15~23まで行いました。(forとwhile文) 復習が多いので、記事の更新はしばらくこんな感じで進むと思います! 勉強時間合計:26h

14日目 Unity 全体のシーンを管理する(ボタンによるシーンの行き来、クエストクリア時のシーン移動)

<全体のシーンを管理する> 1.まずは新しいSceneを作成し、Buttonを追加する(Townの画面) このButtonのサイズを他のButtonと一致させたいときは、Button内のRect Transformをコピーして貼り付ける(これを応用すれば、Textなどのサイズも合わせられる)…

Unity 13日 後半 バトル終了後にボタンの再表示、敵のステータスの表示方法

<バトル終了後にボタンの再表示> A(バトルの管理) public class BattleManager : MonoBehaviour public QuestManager questManager; //Bを持つオブジェクトをインスペクターで貼り付け void EndBattle() { questManager.EndBattle(); //BのEndBattleを行…

13日目 前半 外部の関数の取得、敵の撃破(Destroy)

<Aのとき(クリックした時)にB の関数が呼ばれるようにするには> A public class EnemyManager : MonoBehaviour public void OnTap() { Debug.Log("クリックしました"); } B void PlayerAttack() { player.Attack(enemy); enemyUI.UpdateUI(enemy); } Aに…

12日目 Unity Prefabの情報(ステータス)をそのまま使う方法、引数について

引数の使い方であいまいな部分があったため、ここに記しておきます。 <A>(関数を使う側) void EncountEnemy() { GameObject enemyObj = Instantiate(enemyPrefab); //読み込んだ画像の表示 EnemyManager enemy = enemyObj.GetComponent<EnemyManager>(); //enemyObjの</enemymanager>…

11日目 Unity 関数の使用方法、クリック検出

関数についてもう一度おさらいします Aのスクリプトにある関数をBで使いたいとき <A> public class PlayerUIManager : MonoBehaviour { public void UpdateUI(Player player) //使いたい関数 } <B> public PlayerUIManager playerUI; //これにより、使…

10日目 Unity 2Dゲームの作成開始!

こんにちは( ´∀` ) やっと本格的に製作が始まりますね。なんだかんだ毎日少しずつ触っているせいか、スクリプトの構造を1回の説明で理解できるようになってきました…! 本日学んだこと(復習もあるよ) 1.あるオブジェクトの中身を変更したいとき Ex.Text…

9日目 Unity 昨日の復習と、シーン名の取得と再読み込み

本日は体調がすぐれていなかったため、遅い時間から少しだけ復習しました。。。 昨日のターン制バトルの関数を一通り見直し、一から作成してみました。スクリプトの書き方に関してはおおよそわかるようになり、Unityとの紐づけも少しずつですが感じ取れるよ…

8日目 Unity ターン制バトルのスクリプト1

今回は、ボタンをクリックしたら相手に攻撃、そのまま相手のターンに切り替わり相手の攻撃まで行います。 A バトルを管理するスクリプト B キャラクターを管理するスクリプト(ステータスや攻撃、ダメージの関数) A バトルを管理するスクリプト public Unit…

7日目 Unity Prefab化したものを利用する、セーブとロード、Json化

<Prefab化したものを利用する> [SerializeField] Transform parent; //オブジェクトのTransformを取得(親)[SerializeField] GameObject imagePrehab; //Prefab化したオブジェクトを取得 void Start() { //オブジェクトの生成 GameObject image = Instant…

6日目 最後 オブジェクトのプレファブ化 まとめ

プレファブ化:一度編集したものを再度使えるようにするためのもの Ex.Textのプレファブ化(一度設定したフォントや文字サイズを保存しておく方法) ①インスペクターから設定を変更 ②対象のオブジェクトを、ヒエラルキーからプロジェクト欄にドラッグ ③使う…

6日目 後半 Unity スクリプトで他のスクリプトやコンポーネントを取得

<他のスクリプトの取得> A 取得したいスクリプト B 取得する側のスクリプト A 取得したいスクリプト public class TestScript : MonoBehaviour{ public void TestScriptAA() { Debug.Log("TestScriptのコードを実行"); }} B 取得する側のスクリプト [Seria…

6日目 Unity シーン、ボタン入力、オブジェクトの非表示や破壊

<シーン> ①シーンの作成 シーンの登録 新しいシーンを作成し、File/Build Setting,ヒエラルキーのシーン名をクリックした状態でAdd Open Scenesで登録 ②シーンをスクリプトで切り替える using UnityEngine.SceneManagement; //これを追加しておく SceneMan…

5日目 まとめ

対して内容もないのに、後で見返しやすいように3部作に…w クラスの生成、使用には様々な用法があるため、今後使っていく際に注目しながら作業を進めていきたいですね。 あともう一つ注意する点 プログラミングをするうえでシンプルにというのは当たり前だが…

5日目 クラスの生成と使い方(クラスに対して外からアクセスできるようにするver)

学んだこと クラスを作るスクリプトをA クラスを利用するスクリプトをBとする A public class PlayerModel{ string name; int hp; int attack; //プロパティ public string Name //上のnameにはpublicをつけてないためアクセスできない。Nameという関数を作…

5日目 クラスの生成と使用方法(引数使うver)

学んだこと クラスを作るスクリプトをA クラスを利用するスクリプトをBとする A public class Playermodel{ string name; int hp; int attack; public Playermodel(string name) //引数も使うことができる、この場合はBの()の中身を受け取る { this.name =…

5日目 クラスの生成と使用方法(シンプルver)

学んだこと クラスを作るスクリプトをA クラスを利用するスクリプトをBとする ① A public class Playermodel{ string name; //フィールドに宣言 int hp; int attack; public Playermodel() //生成されたときに呼び出される { name = "国木田"; } public void…

5日目 前半 関数の復習 

学んだこと 1.関数の返し方 return 変数(返したい要素を持つもの); return true; return false; 2.関数の作り方 bool JudgeThreeFunction(int number) //numberは引数(このメソッド内でのみ機能する変数)このとき、左側に型も記述する { if (number % 3 ==…

4日目 配列の復習 後半

難しい... 演習<1から100までの3の倍数と、3のつく数字を要素とするリストを返す関数を作成せよ。> ①作成するにあたって、関数の配置と中身をどのように配置するかを考える。 関数を受け取るvoid Startでは、 List<int> ListA = ThreeFunction(); //下の関</int>…

4日目 配列の復習 前半

今日学んだこと 1.配列を作るint型、List型について 後から要素を追加する、削除することに関しては、List型のほうが優れている numbers.Add(100); //要素を最後尾に追加 numbers.RemoveAt(2); //要素の順番を指定して削除 numbers.Remove(100); //要素の…

僕がUnityを使いこなせるようになるまでの過程編 3日目

前回の復習 1.switch文は特定できるものに使う(ex.プレイヤーのタイプなど) 2.if文は特定できないものにも使える(ex.<、=などの演算子) 3.if,switch,for,whileは再度確認すること 今回学んだこと 配列の基礎 1.int型 int[] xList = new int[3]{1,2,3};…

僕がUnityを使いこなせるようになるまでの過程編 2日目

学んだこと C#の基礎 1.変数と定数(constを最初につけることで中身が変わらなくなる) const string sayConst = "Hello world2"; 2.strings型のFormat文 Debug.Log(string.Format("{0}のHP:{1}",Name, hp)); // Debug.Log(Name + "のHP:" + hp); この…

僕がUnityを使いこなせるようになるまでの過程編

<現状> Unity歴:参考書をパラパラと呼んだ程度 きっかけ:今の仕事とやりたいことにギャップがあるため、将来VRなどの分野に転職することを決意 環境:Unity,C#,Blender,(Pythonにも興味有り),vive pro 目標:vive pro等VR活用によるゲーム開発、映像作…