【C#】基本型に範囲チェック機能を追加する

はじめに ある変数が範囲内に収まっていれば新しい値を代入する処理などの「範囲を意識した処理」というものはプログラミングをしているを割と良く出てくる課題です。コードを書くと以下のように記述できます。 // value が 0~10の範囲内なら新しい値を代入…

【Unity】JumpByをCocos2d-xから移植する

Unityの物理エンジンを使用せずにバウンドの動作を行うためにジャンプ動作を移植してみました。計算式をCocos2d-xというゲームエンジンの「JumpBy」というアニメーションから持ってきたので動作は完全に同等です(DoTweenにもジャンプ動作がありますが個人的…

【C#】Anyメソッド解説 & 範囲指定できるように拡張する

LinqのAnyメソッド使い方と範囲指定できるように機能拡張を行います。 Anyメソッドとは 簡単な説明 Anyメソッドの使い方 Anyメソッドは使用頻度(低) Anyに範囲を指定するように拡張する EnumerableExtensionクラス 使い方 【参考】Anyメソッドの実装 Anyメ…

【C#】配列に要素を追加・削除する、中身をシャッフルする

C#の配列に要素を追加したり削除したり中身をランダム化する方法の紹介です。 配列は一度宣言してしまうとサイズ変更は(基本的に)できないです。そういった事がした場合は動的リストの「System.Collections.Generic」名前空間にある「List」を使用しますが…

Unityと.NET環境で乱数生成を共通化する

タイトルの通り、Unity環境下での乱数生成と非Unityの乱数生成を共通化しようという話です。 何故このようなことをするかというと、非UnityのMonoBehaviorも何もない環境で作成したアルゴリズムをUnityへインポートしたりするときに、UnityのRandomクラスと…

リモートデスクトップ(RDP)接続が遅い場合の設定について

新型コロナウィルスの感染拡大による緊急事態宣言がでて、在宅ワークをしている人も多いかと思います。 また、VPNなどを利用して会社のPCへリモートデスクトップ接続(=RDP)で仕事する事もあるかと思います。しかし遠隔地からのリモートデスクトップは帯域…

Universal RP(URP)を2Dプロジェクトへ設定する方法

2021-10-30 作成済みの 2Dプロジェクトへ Universal Render Pipeline (URP/Universal RP) を後から設定する手順をまとめました(とはいっても現状これしか設定の仕様がないので唯一の設定方法になります。 確認環境 2Dプロジェクトを作成する Package Manage…

Qiitaの読んだ記事($ analyze ...)の項目をAdbockで非表示にする

はじめに 結果だけ知りたいなら次の項目へどうぞ。 Qiitaにアップデートが入り、自分が読んだ記事を集計して他人にも見える状態でプロフィール上で公開するアップデートが来ましたが、これが内容が個人の性癖の暴露並みの気持ち悪さということで大炎上しまし…

Choromeで使用している拡張機能一覧

Chorome大好きなのでいつも使ってます。 拡張機能で機能を追加できるので厳選した便利拡張機能の紹介(というか個人的なメモです) AdBlock plus https://chrome.google.com/webstore/detail/adblock-plus-free-ad-bloc/cfhdojbkjhnklbpkdaibdccddilifddb?hl…

【C#】Unityと.NET標準ライブラリの命名規則の違い

.NET標準は「System名前空間内にあるクラス類」を指します。一方のUnityは「UnityEngine名前空間内にあるクラス類」以下にあるオブジェクト群を指します。それぞれ同じC#言語ですが各々の間で大きく命名規則が異なっています。という訳でちょっとまとめてみ…

C#で1次元配列と2次元配列を相互に変換する

タイトルの通り、1次元配列と2次元配列の相互変換を行う処理の紹介です。 考え方 このような2次元配列を このような配列に変換することができます。 実装コード 早速実装例を紹介したいと思います。 ArrayUtilityクラス 配列に対する操作のため以前紹介したA…

C#でHexタイルの位置を計算する

今回は6角形のタイルの座標の計算を行うライブラリの紹介をしたいと思います。 計算した位置をいい感じに描画すると以下のような感じに並べることができます。 HexLayoutクラス:6角形のタイルを並べる 結構強引に位置を計算していますが、指定した位置を中…