かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

Uno Platform でノッチとかに対応したい(セーフエリア)

iOS エミュレーターで動かすとノッチに食い込むテキストやボタンに悩まされる今日この頃。Uno Platform で対応する場合には Uno.UI.Toolkit.VisibleBoundsPadding クラスの PaddingMask プロパティでセーフエリアに入るように Padding を自動で調整すること…

Uno Platform でプラットフォームによって実装されていない機能を実行時に判別する

さて、Uno Platform ですが UWP の API を気合で Android/iOS 向けに提供しているのですが、全部の API が提供されているわけではないです。 UI まわりは、かなり動きますがそれ以外は結構 NotImplementedException が出てしまいます。 例えば以下のようにボ…

Uno Platform で MainPage.xaml を開いたときにデザイナー(とインテリセンス)が出ないときの対象方法

デザイナーがエラーになるだけならいいんですが、たまにデザイナー自体無いケースがあります。 上の画像では UWP プロジェクトを選択している状態で MainPage.xaml を開いているのにデザイナーが出ません。 一度ファイルを閉じて UWP プロジェクトをビルドし…

ARFoundation と UIWidgets を使う

ARFoundation を使うと Unity で iOS/Android 両対応の AR アプリが簡単に作れるということで注目が高そうな機能です。 docs.unity3d.com AR の世界をタップしたとき何か当たったかどうかを判定するためには ARRaycastManager で Raycast すれば OK です。こ…

C# で Discord のボットを書いて Azure にデプロイしてみよう

C#

ゲーム好きの人たちにはおなじみの Slack みたいなチャットサービスのボットを C# でも作れます。Python が一応公式っぽい?? C# で Discord のボットを作る場合には Discord.NET というライブラリを使うのが一般的みたいです。 github.com 簡単に検索した…

VS Code Meetup #1 - 初回基礎編 で LT してきました

表題の通り、LT してきました。 デモがスムーズにいったので発表していて気持ちよかったです。 ほとんどがデモなので、あまり資料自体に中身はないですがお勧め拡張機能は書いてあるので資料はスライドシェアに上げました。 blog.okazuki.jp Visual Studio C…

Unity の UIWidgets で背景が透明なところは裏側の 3D の世界にイベントを飛ばしてほしい

デフォルトだと UIWidgets が全てかっさらってしまって、例えば Cube に EventTrigger をしかけて、UIWidgets に全面透明な画面とかを置いてもクリックが反応しないみたいです。 解決策として、以下の Issue にコードが載ってます。 github.com 一応念のため…

Unity でも DI 使ったりしたいし画面もいい感じに作りたい「Zenject & UIWidgets」 その 2

前回は Zenject 使って複数シーンを跨いで有効なシングルトンなオブジェクトを作ってみました。 アプリ全体で管理したい情報などは、こういうのを使って管理したりすると捗りそうです。 blog.okazuki.jp UIWidgets を入れてみよう ということで今は The Unit…

Unity でも DI 使ったりしたいし画面もいい感じに作りたい「Zenject & UIWidgets」 その 1

表題の通りです。Zenject を使ったり UIWidgets を使ってみたいと思います。 ここで使うライブラリと環境 環境 Windows 10 1909 Unity 2019.2.12f1 Zenject Unity 向けに特化された DI コンテナで、Unity 向けの各種便利機能が追加されています。他の .NET S…

問題調査でドツボにはまった状態から抜け出す技術?というか気にしてるところ

なんとなく、牛尾さんの以下の記事を見て自分が気を付けてることをメモしておこうかなと思ったのでメモ。 qiita.com まずハマらないために 何か新しいことをやるときは、それだけにフォーカス出来る状態で練習を一度する 既存のプログラムとかに〇〇を組み込…