はかせのラボ

私の頭の中を書いていく雑記ブログです

C#

xaml is 何

C#

お久しぶりです。hakaseです。 今回はゲームプログラマーの就活について的なことを 書こうかなぁと思ったのですが特に思いつきませんでした。 ということでいつも通り覚書をつらつら書いていきたいと思います。今回はxaml is 何です。 目次 目次 xaml is 何 …

WPF データバインディング is 何?

C#

どうも、先日ダイパリメイクが発表されテンションが高いhakaseです。さて前回WPFの初歩を刻んだところで、 今回はWPFの基本であり全てとも言って過言ではない、 「データバインディング」について書いていきます。 目次 目次 データバインディング is 何 具…

WPF Livet使ってWPFアプリを作り始めた

C#

どうも、hakaseです。 もうそろ北海道を脱出してから一年になります。コロナとかで色々大変でしたが、 なんとか家事等にも慣れてきてデュエマ等の開発以外の趣味も増え、 すこぶる元気に過ごせています。ただまぁなんやかんやでプログラム書くのは好きなので…

C# ブログリハビリがてらC#で作れるプロパティについて雑多に書いてみる

C#

あいさつ 全力言い訳タイム C#のプロパティについて メリットは何があるの? デメリットってあったりする? プロパティがどうやって実行されるのか あとがき あいさつ かな~~~~りお久しぶりです。hakaseです。以前更新したのはえーっと、 5/31ですか。 …

C# Unityでもコンソールアプリでもタイマイベントを簡単に作れるSystem.Timers.Timerの紹介

あいさつ 使い方 注意 どういう時に使うか あとがき あいさつ 新年あけましておめでとうございます。 はかせです。今回はC#が使える環境ならばほぼ全てでタイマイベントをサクッと作れる System.Timers.Timerの紹介です。 使い方 using System.Timers; priva…

C# コンソールアプリでBluetooth通信を行う

あいさつ 前準備 Bluetooth通信のやり方 周囲のBluetooth端末をスキャン スキャンした端末が通信したい端末かチェックし値の購読を始める あとがき 参考 あいさつ お久しぶりです。はかせです。 この記事は、C# その2 Advent Calendar 2019 の22日目の記事と…

Unity マウスからRayを打つ ~可視化もするよ~

あいさつ 実行結果 実装 あとがき あいさつ どうも、はかせです。今回はマウスの位置からRayを飛ばしてみるのと その可視化をやってみます。 実行結果 今回はまず先にどういう結果が出るのかからお見せします。 画像右にあるGameビューから適当にクリックし…

Unity ものすごくざっくりと着地判定を作る ~楽がしたいんじゃぁ~

あいさつ 実装選択肢 それでも微妙にめんどくさいところが・・・・ めんどうを解消していく 自動で判定用オブジェクトを置いていく あとがき あいさつ どうも、はかせです。今回はUnityで着地判定を作ってみます。 ただ単純にやってくと やれレイヤーがなん…

Unity コンポーネントとは?クラスやスクリプトとは何が違うの?

あいさつ コンポーネントとはなんぞや? クラスやスクリプトとは何が違う? あとがき あいさつ どうも、はかせです。昨日Twitterを眺めてたら GetComponentがうまくいかないみたいな話があってですね。 ちらりと覗くとどうやらコンポーネント自体の理解が あ…

Unity 以前作ったFPSカメラに縦方向の制限を付けた

あいさつ 異なる点 角度制限を付ける 実行結果 あとがき あいさつ どうも、はかせです。以前UnityでFPSっぽいカメラを作ってみました。 hakase0274.hatenablog.com概ねの動きは上記の記事で問題ないと思うのですが、 一部問題と言うか一般的なFPSゲームのカ…

Unity UDP通信を受信する

あいさつ 実装内容 コード 実行環境 結果 あとがき 参考 あいさつ どうも、はかせです。何気なくアクセス解析を見てたらですね 以前上げたTCP通信の記事がトップになってました。 ということで今日はUDPやっていきますよ。 (別にこのためにやってたわけじゃ…

C# for文をgoto文使いながら解説していく

C#

あいさつ for文の使い方 goto文を使ってfor文と同じ動きを作る あとがき あいさつ どうも、はかせです。ちょっと前に配列についての記事を上げました。 hakase0274.hatenablog.com配列を扱ったんだから次は配列操作にほぼ必須に近い for文の説明をしなきゃな…

C# 配列というものについてそれとなく語る ~闇が深そうなコードを添えて~

C#

あいさつ 配列とは 配列が便利な場面 あとがき あいさつ どうも、はかせです。最近学校でもネット上でも 「配列の扱いを知らない人」が多いように感じます。 (あくまで自分の目に見えている範囲だけの話ですが)そこで今回は「配列を知らないorよくわかってな…

C# BOM地雷を踏まないために必要な知識をまとめてみる

あいさつ BOMとは BOMが何故文字化けを BOMの有無をどうやって切り替える BOMが有用な場面 あとがき あいさつ どうも、はかせです。以前こんな記事を投稿しました。 hakase0274.hatenablog.com内容はC#でのファイルI/O基礎的なものです。この記事の中で○○Rea…

C# 参照渡しの3つのキーワードについて違いを語る ~in、out、ref~

あいさつ 参照渡しと値渡し ref out in あとがき あいさつ どうも、はかせです。先日メソッドから複数の値を取得する方法を 投稿しました。 hakase0274.hatenablog.comその後Twitterの方でですね 「outは?」 というコメントを頂きました。確かに複数の値を…

C# 一つのメソッドから複数の値を取得する3つの方法

あいさつ refキーワードを使う タプルを使う 構造体を使う あとがき あいさつ どうも、はかせです。唐突ですが、一つのメソッドから複数の結果を欲しくなる時ありませんか? 「座標情報と対応インデックスが欲しい」 「メソッド実行して値とそのメソッドの成…

Unity あのめんどくさいAnimatorのステートマシンから解放されよう

あいさつ サンプル あとがき あいさつ どうも、はかせです。今日はJPHACKSの一日目でした。 私が参加しているチームはUnityを使って開発をしています。 そこで2日間という短期間でモノを作るということで モーションは基本Animatorです。ただUnityを少し触っ…

Unity FPSゲームやバイオで見るようなカメラとラジコン操作

あいさつ どういうやつ カメラ移動 ラジコン操作 あとがき あいさつ どうも、はかせです。今日は趣味のDirectX12ではなく 誘われたプロジェクトの作業してました。今回はその中で実装してみた 簡単にできるFPSとかバイオで見る感じのラジコン操作を 紹介しま…

まとめ IL勉強の軌跡をまとめておく

あいさつ ILとは DnSpy IL手書き DynamicMethod ループ 拡張メソッド 命令の種類 自動メモ化 コンストラクタ デストラクタ あとがき あいさつ どうも、はかせです。このブログもなんやかんやいって1年強やってきました。そうすると色んな記事が出てくるわけ…

C# Span構造体なるものがあるらしい

あいさつ Span構造体 is 何? 使ってみる ref構造体? Span is 使えない子? あとがき あいさつ どうも、はかせです。 今日は学校にいるときも家に帰ってからも IL2CPPで吐いたソリューションのビルドが出来ず あーでもないこーでもないとやってました。結果…

C# BindingFlagsについて調べてみた話

あいさつ BindingFlagsとは Public NonPublic InvokeMethod Instance つまり前回のデストラクタの探し方は あとがき あいさつ どうも、はかせです。 前回デストラクタの取得で結構詰まってしまいました。原因はBindingFlagsの設定がミスってたからなんですが…

IL コンストラクタの次はデストラクタを作ろうとしてハマった話

あいさつ デストラクタとは どういう扱いなんだろう 作ってみる 救世主が現れた あとがき あいさつ どうも、はかせです。 前回コンストラクタでハマった話を上げました。コンストラクタやったならデストラクタもやってみたい。ということでやりました。 デス…

IL コンストラクタ作ろうとしてハマってた話

あいさつ ILでコンストラクタを作る方法 ハマった点 コンストラクタ引数 コンストラクタの最初で呼び出す親のコンストラクタ あとがき あいさつ どうも、はかせです。 前回メソッドプロキシでの自動メモ化を頑張りました。 hakase0274.hatenablog.com今回の…

C# 悲しい結果になっていたメソッドプロキシの速度を改善した話

あいさつ 前回のコード 遅くなった原因 改善 あとがき あいさつ どうも、はかせです。 前回の記事読んでいただけたでしょうか? hakase0274.hatenablog.com自動メモ化をいろんな方法で試して 高速化してみるという内容の記事でした。その中でアスペクト指向…

IL 自動メモ化の実装をあれこれ考えたけど結局ネタ被りしたから速度勝負に切り替えた話

あいさつ やり方 まずはメモ化なしのを置いておく Dictionaryの拡張メソッドを作る アスペクト指向で処理の間にキャッシュを挟み込む IL生成でメソッドをオーバーライドする ちなみに あとがき あいさつ どうも、はかせです。 今回は前回やったメモ化の自動…

C# メモ化

あいさつ メモ化とは? 実際に作ってみる あとがき あいさつ どうも、はかせです。今日もILをやろうとネタを集めていたんですが、 そんな中こんな記事を見つけました。qiita.com内容はILを使ってメモ化を行うというものです。そこで一つ私の頭の中にはてなマ…

IL IL命令でLdc_I4とLdc_I4_SみたいにSが付いてるやつと付いてないやつの違いを調べてみた話

あいさつ Ldc_I4_SとかのSの意味は? どゆこと?? なんで分かれてるの? 実際問題そこ気にした方がいいの? あとがき あいさつ どうも、はかせです。 今日は前回作った拡張メソッドを改造していたのですが、 その中でSが付いてるものと付いてないものの違い…

IL 同じミスはもうしたくないから拡張メソッドでお茶を濁す

あいさつ やること あとがき あいさつ どうも、はかせです。前回ILでループ処理を作ろうとしたら まさかのstaticメソッドとインスタンスメソッドを間違うという ポカをやらかしてしまいました(´;ω;`)前回 hakase0274.hatenablog.comもう同じ過ちを繰り返し…

IL ループ処理をやってみる(はかせは小学生未満だったことが発覚してしまった)

あいさつ ILでのループ あとがき あいさつ どうも、はかせです。 とりあえずAssemblybuilderとDynamicMethodを使った IL書きはなんとなくわかりました。基本がわかったら次は応用です。 今回はループをやってみます。 ILでのループ とりあえず下記のコードを…

C# ボックス化

あいさつ ボックス化とは? ボックス化は悪? 今どきの言語でボックス化って起こってるん? ボックス化回避はできるの? あとがき あいさつ どうも、はかせです。 最近ILの勉強をしていて ようやくC#という言語が それとなくわかってきたような気がしなくも…