はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

2019-03-01から1ヶ月間の記事一覧

【Unity】LINQと匿名クラスを組み合わせて使う

はじめに 今回は匿名クラスとLINQを組み合わせて使うことについての記事になります! 匿名クラス using UnityEngine; public class Hoge : MonoBehaviour { private void Start() { var enemy = new { Name = "Slime", Exp = 10 }; Debug.Log(enemy.Name); }…

【Unity】Unityのクラス設計について

はじめに ネットでいくつか参考にすべきクラス設計を見つけました。 備忘録としてここに残しておきたいと思います。 記事 Unity開発で使える設計の話+Zenjectの紹介 from torisoup www.slideshare.net qiita.comqiita.comblog.d-yama7.com

【Unity】抽象クラス・抽象メソッドについてかるくまとめてみた

はじめに 今回は抽象クラス・抽象メソッドの使い方と、アップキャスト・ダウンキャストについての記事になります。抽象クラスはポリモーフィズムと呼ばれるオブジェクト指向にとって重要な考え方に深い関係があるようです。是非マスターをしちゃいましょう!…

【Unity】変数やメソッドのネーミングについてかるくまとめてみた

はじめに 今回は変数やメソッドのネーミングについての記事になります!きっとネーミングで悩んでしまったことがある人が大多数ではないでしょうか?かくいう私もいつも悩んでしまいます。そこでネーミングについて調べてみたので、そちらを紹介したいと思い…

【Unity】リストをディクショナリに変換する方法

はじめに 今回はList<T>をDictionary<TKey,TValue>に変換することについての記事になります!変換するにはLINQを使うので、もし「LINQってなんだっけ?」という方はこちらを見てみてから続きをみるとスムーズに理解が進むと思います。hanaachiru.hatenablog.com 変換方法 usi</tkey,tvalue></t>…

【Unity】Dictionary<TKey,TValue>(ディクショナリ)クラスについてかるくまとめてみた

はじめに 今回は「ハッシュテーブル」とよく呼ばれるDictionary<TKey,TValue>ジェネリッククラスについての記事になります!「配列やリストと何が違うんだっけ?」という疑問を抱く人もいるかもしれませんが、一言で言うならキーとそれに対応する値を複数保持できることが</tkey,tvalue>…

【Unity】LINQについてかるくまとめてみた

この記事でのバージョン Unity2018.3.9f1 はじめに 今回はLINQのかるい説明から実際に様々なメソッドを使ってみるという記事になります!LINQと聞いて「ゼルダの伝説」を思い出す人がいるのではないでしょうか?私は最初それしか思いつかなかったのですが、…

【Unity】文字列をいろんな条件で比較してみた

はじめに 今回はstring型のオブジェクトをいろんな条件で比較してみる記事になります。文字列と聞くと嫌になるほど扱ってきた経験がある人が多いのではないでしょうか? そんな文字列には大文字であったりカタカナであったりといったいろんな種類があります…

【Unity】オプション引数をかるくまとめてみた

はじめに 今回はオプション引数を使ったメソッドの使い方についての記事になります。オプション引数はメソッドを呼び出すときにその引数の一部を省略できる機能のことです。オーバーロードでも同様なものを作れるのですが、コード量をかなり抑えられるので、…

【Unity】可変長引数についてかるくまとめてみた

はじめに 今回は可変長引数をつかったメソッドについての記事になります。可変長引数と聞いてもやや分かりづらいかもしれないですが、単に複数の引数を受け取るがその数を限定しないものを表します。なぜか好き勝手に引数を指定できると思うとワクワクしませ…

【Unity】 IReadOnlyCollection<T>を使って読み取り専用のコレクションを作る

はじめに 今回は読み取り専用のコレクションをIReadOnlyCollection<T>インターフェイスを用いて実現する方法に関する記事になります。これはメソッドの引数にて用いて、このメソッドは要素を変更しないという意思表示に適していると思います。 その前に ・・・</t>…

【Unity】null合体演算子とnull条件演算子についてかるくまとめてみた

この記事でのバージョン Unity2018.3.9f1 はじめに 今回はnull合体演算子とnull条件演算子の使い方についての記事になります!前回null許容型についての記事を書いたのですが、そちらと合わせて用いられることも多いようです。hanaachiru.hatenablog.com nul…

【Unity】メソッドやプロパティをラムダ式で記述する

はじめに 今回はメソッドとプロパティをラムダ式で記述することについての記事になります。こちらはC#6での機能なので、Edit > Project Settings > Playerから、.NET 4.xを選択しましょう。 メソッドやプロパティをラムダ式で記述するための条件 メソッドを…

【Unity】インスペクターではゲームオブジェクトの参照だけじゃなくいろいろ参照できるってお話

はじめに たまたまUnityを始めたての方のコードをみせていただいた際、RectTransformコンポーネントをいじるためにインスペクター上でゲームオブジェクトの参照をしてGetComponent<RectTransform>()をしていました。 実はどっちも参照できる ただ突き詰めてしまえばGameObje</recttransform>…

【Unity】早期リターンをしてコードを見やすくする

はじめに 今回は最初にふるいにかけて残ったものだけ処理をさせるようにする記事になります。これをするとかなりコードが見やすくなるはずです。 実際の例 例えばこのようなコードがあったとします。 private void Hoge(string str,int a,int b) { if (str !…

【Unity】三項演算子(条件演算子)をかるくまとめてみた

はじめに 三項演算子(条件演算子)は?:を使い、条件を判定して、真と偽でそれぞれ異なる値を変数に代入します。この演算子についてかるくまとめてみました。 構文 using UnityEngine; public class Hoge : MonoBehaviour { void Start() { int a = 2; int b…

【Unity】List<T>クラスの持つデリゲートを使うメソッド達

この記事でのバージョン Unity2018.3.9f1 はじめに 今回はあまり使う機会が少ない?ようなList<T>クラスが持つデリゲートを引数にするメソッドに関する記事です!これらはリストの各要素に対していろいろな処理ができるようなメソッドがほとんどになっています</t>…

【Unity】インターフェイスについてかるくまとめてみた

はじめに インターフェイスの持つ重要な性質をまとめてみました。 細かい説明は他の記事を参照してみてください。ufcpp.net 最重要事項 インターフェイスにはこの3つの性質を持ちます。 ・AクラスがIXインターフェイスを実装していると、AオブジェクトはIX…

【Unity】よくC#で見るカタカナ達(基本用語)をまとめてみた

はじめに C#の勉強などをするにあたってたくさんのカタカナが登場してきますよね。 私はいつもあれ?っとなってしまうので、いくつかよく曖昧になってしまうものをまとめてみました。 用語一覧 用語 意味 インデント プログラムを見やすくするための字下げ …

【Unity】classにstaticを付けるべきときはいつ?

はじめに classの前にstaticをつけると静的クラスと呼ばれるものになります。ただこれはどういう時につけるべきなのかを調べてみました! 結論 最初に結論を書くと、クラス内のすべてのメンバーが静的メンバーのときは静的クラスにするべきです。 静的クラス…

【Unity】定数を作るときにconstとstatic readonlyのどちらを用いるべきか

はじめに 定数を用いる時にconstや(static) readonlyがあると思います。 ただ、どの場合にどれを使うべきか備忘録として残しておきたいと思います。また主な違いはこちらを参照してみてください。qiita.com どちらを使うべきか 結論から書くと、 ・privateの…

【Unity】クラスについてかるくまとめてみた~継承編~

はじめに 前回このような記事を書かせていただきました。hanaachiru.hatenablog.com今回はクラスの継承について紹介していきたいと思います! 継承を用いるべきとき 継承の仕方の説明の前に、どういう時にすべきなのかを書いておきたいと思います。 使うべき…

【Unity】null許容型について

はじめに C#が扱う型(int,stringなど)には値型と参照型が存在します。この参照型には何も参照していない状態を意味する「null」が存在します。しかし値型には通常「null」を設定することができません。今回は値型でもnullを扱う方法を紹介したいと思います…

【Unity】クラスについてかるくまとめてみた~基礎編~

はじめに いまさらながらクラスについて勉強をしたのでその備忘録として残しておきたいと思います。 また、なるべくUnityでも使いそうな感じを意識して書いていきます。 はじめに 基本的なクラス 実際にクラスのインスタンスを生成する インスペクター上でい…

【Unity】3Dのゲームオブジェクトの片方のみ伸縮させる

はじめに 2Dのゲームオブジェクト(RectTransform)にはpivotを自分でいじることが可能です。 ただ3Dのゲームオブジェクトでは画像みたくpivotをエディタ上でいじるのは無理みたいです。Changing the pivot point of meshes. - Unity Answersしかし少し工夫…

【Unity】Unity1週間ゲームジャム (つながる)に参加しました

はじめに 久しぶりのunity1weekに季節がやってきました!Unity 1週間ゲームジャム | フリーゲーム投稿サイト unityroom私は「フロー」というお題から参加を始めてちょくちょく参加をしています。結論から言うと、ゲーム作りってやっぱり楽しいと改めて実感で…

【Unity】DoTweenの特定のtweenをIDを使って終了させる

はじめに DoTweenにはIDをtweenに設定することができ、それを使って特定のtweenに操作をすることができるようです。今回はIDを使ってPause()を呼んでみたいと思います! IDの付け方 スクリプトからtweenにIDを付けることもできますが、Pro版のDoTweenではイ…

【Unity】Unityのアフィリエイトへの登録の仕方(2019年3月時点)

はじめに 先日はてなブログにUnityのアフィリエイトを導入しました。 その手順を紹介していきたいと思います。目次 はじめに Unityのアフィリエイトってどんなの? 参加をする 情報を入力していく 審査が通るまで待つ リンクの貼り方 さいごに 参考 Unityの…

【Unity】VisualStudio2017で変数などの名前の変更を一度でする方法

はじめに 変数名のリファクタリングをする際、一つ一つするのは骨が折れますよね。 ただVisualStudioにはそれを一度に変更することができます。今回はそちらを紹介していきたいと思います。 やり方 手順はとてもシンプルで、変えたい名前を右クリックして名…

【Unity】delegateを使ってswitch文によるごちゃごちゃをなくす

はじめに Unityでプログラムをしていて、このようになるケースは多々あるのではないでしょうか? using UnityEngine; public class Hoge : MonoBehaviour { public void Fuga(int number) { switch (number) { case 0: func0(); break; case 1: func1(); bre…