バッテラが如く

プログラミングしましょ!

2022-02-07から1日間の記事一覧

【Unity】ProBuilderの基本操作をまとめていく

面を貼る 面を埋める 面を貼る 1面を選択し スケールツールに切り替え(Rキー) shift押しながら小さくすると新しい面ができる 面を埋める

【C#】文字列の1文字だけ大文字 or 小文字にする

はじめに こんにちは、バッテラです。 文字列全体を一括で大文字小文字に変換するにはstring.Replaceを使うとできましたが、 文字だけを変換したい場合はできなかったので、 調べて分かったことについて書いていきたいと思います。 はじめに 環境 N文字目を…

【C#】メソッドの引数にコールバックを渡す方法

コールバックにはActionとFuncのどちらか選びます。引数が不要なコールバックならAction、必要ならFunc public void Hoge(System.Action callback = null) { callback?.Invoke(); } さらにnull条件演算子でnullチェックすることで簡潔にセーフコードが書けま…

【Unity】UniRXのFactoryメソッドの基本的な使い方

はじめに 今日はUnityの無料アセットであるUniRXについて勉強していく記事です。 FactoryはObservableを作るタイプのやつですね。 色んなFactoryメソッドがあるので簡単な使い方を解説していこうと思います。 はじめに Return 使い所 特徴 Create 使いどころ…

【Unity】クラス型の変数をDebug.Logで出力したい場合

■開発環境 MacOS Monterey (12.1) Unity (2021.3.2f1) はじめに ダメな例 ToStringをオーバーライドしよう はじめに Unityでログを出すにはDebug.Logは皆さんわかってると思いますが、Debug.Logはintやfloatとプリミティブなデータ型を表示は正常ですがクラ…

【Unity】InputSystem 調査備忘録

Action とは Actionを作る流れ Action → Composite または Action → Binding の2パターンあります どう使い分けするかですが、 前者は、Actionの最終目的アウトプットを得るために1個のBindだけで完結しない場合 例えば、4方向の付加情報(Vector2)を最終…

【Unity】InputSystemでソースコードによるキーボード押下検知する方法

はじめに 今日はUnityについて勉強していきます。 InputSystemで入力検知はInputActionファイルを作ってそれをアタッチしてスクリプト書いて・・・という手順がクソ長くなります。 従来のInputだとInput.GetKeyDown(XXX)という要領で書けたので簡単だったん…

【Unity】InputSystemで十字キー8方向の入力を検知する方法

はじめに 今日はUnityの勉強していきます。 あまり使いたくないInputSystemのTIPSをやろうかと思います。 docs.unity3d.com InputSystemで押してる方向を検知するという方法について共有したいと思います。 使い所としてはキャラの移動などで押してる方向に…

【Unity】InputSystemでソースコードによるマウスイベントを検知する方法 (InputManagerの代替え)

この記事の情報は次のバージョンで動作確認しています。 MacOS Monterey (12.1) @ Unity (2021.3.2f1) はじめに 前提 マウスのクリック判定 ボタンの種類 イベントの種類 マウス座標の取得 現在位置 前フレームからの移動差分 注意点 nullチェックを入れたほ…

【C#】リストの中から条件に当てはまる要素だけを抽出する方法

List<SampleData> before = new List<SampleData> { new SampleData(1), new SampleData(2), new SampleData(3), new SampleData(4), new SampleData(5), new SampleData(6), new SampleData(7), new SampleData(8), new SampleData(9), new SampleData(10) }; // valが奇数のみの要</sampledata></sampledata>…

【C#】参照渡しを理解するための検証

前置き 環境 クラス型変数を持つ構造体をコピー(代入)した場合 サンプルプログラム 結果 考察 前置き C#という言語は 構造体は値渡し、クラスは参照渡しとうい仕様になっています。 値渡し、参照渡しを説明しだすと長文になるので割愛しますが、 値渡しはク…

【C#】クラス/構造体配列の宣言時初期化方法

はじめに C#におけるクラス配列宣言時に初期化する方法がいつもどうやるんだっけ?になるので、 備忘録として残しておこうかと思います。 サンプルコード public class Hoge { public int num = 0; public float val = 0; } private Hoge[] entities = new …

【C#】配列とListの相互交換する方法

検証で使うコード public class Hoge { public int num = 0; public float val = 0; } private Hoge[] hoges = new Hoge[] { new Hoge() { num = 1, val = 2.0f }, new Hoge() { num = 2 }, new Hoge() { num = 3 }, new Hoge() { }, }; 配列をList型に変換…

【C#】ディレクトリのファイル一覧を取得する

var filePaths = Directory.GetFiles(activePath, "*.cs");