2020-02-01から1ヶ月間の記事一覧
タイトルの通り、1次元配列と2次元配列の相互変換を行う処理の紹介です。 考え方 このような2次元配列を このような配列に変換することができます。 実装コード 早速実装例を紹介したいと思います。 ArrayUtilityクラス 配列に対する操作のため以前紹介したA…
今回は6角形のタイルの座標の計算を行うライブラリの紹介をしたいと思います。 計算した位置をいい感じに描画すると以下のような感じに並べることができます。 HexLayoutクラス:6角形のタイルを並べる 結構強引に位置を計算していますが、指定した位置を中…
前回の記事で紹介した2次元配列の管理クラスですが中身のデータを「1次元配列を2次元配列扱いする」か「C#固有機能の多次元配列」で行ったときの実行速度に触れましたが今回は実際に速度の違いを計測してみました。 takachan.hatenablog.com タイトルの通り…
2D のゲーム実装でマップを扱うときは x と y の2次元のマップデータを使うことがありますがこのデータ構造の実装方法を紹介します。 x と y の 2次元のデータですが、中身は 1次元の配列として扱います。なので 1列の配列データを 2次元のグリッドとして扱…
タイトルの通りなのですが、絵にするとこんな感じです。 以下のような2次元配列があった時に 以下のようにある部分を範囲選択して切り取り新しい2次元配列を作成する処理になります。 実装コード ArrayUtilityクラス 使い方 ArrayExtension:拡張メソッド版 …
C#には「オブジェクト初期化子」というインスタンス作成時に使用できる初期化方法があります。 例えば以下のようなクラスがあった場合、公開されているプロパティに対して初期化と同時に値が設定できます。 // クラス宣言 public class Point2Di { public in…
タイトルの通りですがUnityのアニメーションのアセットのDOTweenをTimeLineでプレビューする方法です。 ネットで調べると既に実装されている方が居たのですが現実的に使用するにはもう少し考慮が必要だったので先の実装例をを踏襲しつつ実装を変更 & 設定方…
前置き C#の配列をインデックス付きでforeachする方法は純粋なC#では2種類あります。シンプルにforで回すか、LinqでSelectするかです(ループの外にインデックスを宣言すればどの方法でも処理できますが、ここではインデックス用の変数(i)が外に見えない形式…