はなちるのマイノート

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

C#

【C#】LINQのZipメソッドで複数のコレクションを合体する

はじめに 今回はLINQのZipメソッドで複数のコレクションを合体する記事になります!たとえばこのような状況はないでしょうか? 一次元配列やリストといった二つのコレクションを一つに合体させたり、2つのシーケンスに対応した要素から何らかの操作を加えて…

【Unity】列挙型にビット演算を用いて同時にフラグをたてれるようにする

はじめに 今回は列挙型にビット演算を用いて同時にフラグをたてれるようにする記事になります!突然ですが、こちらのコードを見てみてください。 public enum Magic { Hyado, Gira, Hoimi, Mera } いわゆる列挙型といういうやつですね。ドラクエの魔法を列挙…

【Unity】LINQと要素のインデックスについて

はじめに 今回はLINQと要素のインデックスについて掘り下げてみる記事になります!以下のコードを少し見てみてください。 IEnumerable<string> names = new[] { "スライム", "ももんじゃ", "ドラキー" }; Debug.Log(names[1]); なんとなくやりたい事が分かると思いま</string>…

【Unity】Event関連の一体どいつがイベントハンドラー、Sender、Receiverなのか

はじめに イベントについて話をしていた際、イベントハンドラ・Sender・Receiver・購読などの用語が出てきて、あれそれってどこの部分のことだっけ?となってしまったことがありました。まだsenderやsubscribeといった用語は単語の意味からなんとなく分かる…

【Unity】Unityでdelegateを用いたStrategyパターンを学んでみる

はじめに 前回UnityでStrategyパターンを学んでみるといった記事を書きました。www.hanachiru-blog.comただWikipediaを見ていたところ、このような表記を見つけました。 C#はJava同様にクラスやインターフェイスによるポリモーフィズムを用いることもできる…

【Unity】UnityでStrategyパターンを学んでみる

はじめに 今回はStarategyパターンを使って簡単なサンプルを作ってみる記事になります!StarategyパターンをWikipedia先生で検索してみると、 Strategy パターンは、コンピュータープログラミングの領域において、アルゴリズムを実行時に選択することができ…

【Unity】インターフェイスメンバーの明示的な実装

はじめに 今回はインターフェイスのメンバーを明示的に実装する方法についての記事になります!普通にインターフェイスを実装した場合と違い、いつくか変わった動作をします。 普通の実装と明示的な実装の異なるところ 最初に結論を言ってしまいたいと思いま…

【Unity】MonoBehaviourを継承していないクラスでコルーチンを使う(コールバックも)

はじめに 今回はMonoBehaviourを継承していないクラスでコルーチンを使う方法についての記事になります!加えてその際にコールバックでやや手間取ってしまったので、そちらについても触れたいと思います。 MonoBehaviourとコルーチン Unityのコルーチンとい…

【Unity】ネットに繋がっている状態かを簡単に調べる

はじめに 今回はネットに繋がっている状態か調べる記事になります!ネットに繋がっているかはApplication.internetReachabilityというインターネットにアクセスしているかが分かるプロパティがUnityEngineにはあります。これを使うことで簡単に実装できるの…

【Unity】派生クラスから基底クラスのコンストラクタを実行する

はじめに 今回は派生クラス(サブクラス)から基底クラス(スーパークラス)のコンストラクタを呼ぶ記事になります!これを実現する機能はC#に備わっているのですが、やや独特な表記だと個人的に思ったのでこちらに残しておきたいと思います。 やり方 基底ク…

【Unity】命名で悩んだときに日本語から英語に変換してくれるサービスを見つけた

はじめに 命名で悩んだときに日本語を英語に変換してくれるサービスを見つけました。そこで、せっかくなのでここで少し紹介しておきたいと思います。 サービス かなり有名みたいなので知っている方は知っているかもしませんが、紹介したいサービスはcodicと…

【Unity】セリフなどのデータをGistを使って簡単にWebサーバー上におき、読み込む方法

はじめに 今回はセリフなどのデータをGistを使って簡単にWebサーバー上におき、読み込む方法についてに記事になります!前回はJsonの作り方からmyjsonというサービスを使ってWebサーバーからJsonを取得するところまでをやりました。www.hanachiru-blog.comww…

【Unity】UnityでJsonをWebサーバーから読み取る

はじめに 今回はUnityでJsonをWebサーバーから読み取ることについての記事になります!前回はJsonの使い方からローカルに保存したJsonを読み込みをしました。www.hanachiru-blog.com一応前回の続きという流れでいきたいと思います。 利点 なぜローカルに保存…

【Unity】Jsonを最初から簡単にまとめてみた

はじめに 今回はJsonとはなにかから、UnityでJsonを読み込むまでについての記事になります!Jsonと聞いてなんとなく知っているけれど、使ったことがないという人も多いのではないでしょうか。かくいう私が少し前までそうだったのですが、データの管理方法の…

【Unity】Vector3をオプション引数として使う

はじめに 今回はVector3をオプション引数として使うことについての記事になります!私がこれを実装してみようと思ったところ、いくつかつまずきポイントがあったので、軽く紹介してみたいと思います。 定数でなければならない private void Hoge(Vector3 pos…

【Unity】状態の管理をStateパターンを用いてよりスマートに

はじめに 今回はStateパターンを用いて状態管理するという記事になります!例えばプレイヤーが今どんな状態なのか。攻撃をしているのか、歩いているのか。このような状態遷移を実装と思ったとき、まずはif文やswitch文で分岐させる方法が思いつくのではない…

【Unity】UnityでMVPパターンを用いる

はじめに UnityでMVPパターンを用いてクラス設計をすることもあるそうです。 一応備忘録として。 記事 developers.cyberagent.co.jp UniRxでMV(R)Pパターン をやってみた from torisoup www.slideshare.netqiita.comlight11.hatenadiary.com yutakaseda3216.…

【Unity】色んな型の既定値を調べてみた

はじめに 今回は色んな型の既定値についての記事になります!その前に「既定値ってなんや?」といった疑問が生まれるかもしれません。 かくいう私も少し前まで曖昧でした。簡潔に書くと、既定値は明示的な初期化を怠った時に既定で代入される値のことを指し…

【Unity】ジェネリックについてかるくまとめてみた

はじめに 今回はジェネリックについての記事になります!みなさんジェネリックと聞いて「医薬品」を思いついた人がいるのではないでしょうか?私は最初にそれにか思いつきませんでした。調べてみるとジェネリックには「一般的な」という意味があるようです。…

【Unity】インデクサーについてかるくまとめてみた

はじめに 今回はインデクサーの使い方についての記事になります!インデクサーはオブジェクトを配列のように扱うことができるようになるものです。まずは書き方を見てみましょう。 インデクサーの書き方 要素型 this[int index] { // getアクセサー get { //…

【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】可変長引数についてかるくまとめてみた

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