sh1’s diary

プログラミング、読んだ本、資格試験、ゲームとか私を記録するところ

2020-01-01から1年間の記事一覧

C# ZIP ファイルの作成・操作方法(テキストデータ)

最初に ZIP ファイルを扱うための基本的なコード ZIP ファイルの作成 ZIP ファイルのエントリー(ファイル、ディレクトリー)を調べる ZIP ファイルにあるテキストデータを読み込む ZIP ファイルにテキストデータのファイルを追加する ZIP ファイル内のファ…

WPF DataGridCell の TextBox だと KeyDown などのイベントが発生しない

問題点 備考 イベントを発生させるための対策 サンプル 参考 問題点 WPF の DataGrid で DataGridTemplateColumn のテンプレートで TextBox(カスタムしたものなど)を設定しているとします。 数字のキーを押して、フォーカスを与えています わかりにくいけ…

Strunk and White: The Elements of Style「Ⅱ.基本的な用法の原則」

(コメントを)英語で書くときは、Strunk and White スタイルを使いましょう この一文は、Python コードのスタイルガイド(PEP8)に挙げられています。GW 中に勉強のため、Strunk and White スタイルを自分なりに雑訳してみたのでそれを公開。 英語文法のお…

Unity Shuriken を使って FF5 の黒魔法フレアっぽいエフェクトをやる

実装したことの流れ 位置調整用の親 Prefab フレアの material パラメーターの設定 「中心に集まる」エフェクト 「爆発する」エフェクト サンプル 参考 最初に成果物を提出。こんな感じになりました。それっぽく見えるとうれしいですが、ROM を解析して厳密…

WPF 使用したファイルの履歴メニューを作る

今回は、使用したファイルなどの履歴メニューをシンプルに実装してみたサンプルの記事です。 作ってみた(動作の雰囲気) 画面 メニューの生成コード コレクションの実装例 並びを反転させる サンプル user.config ファイル 参考 だいたいのアプリケーション…

Gmail から iCLUSTA+ のメールサーバー経由でメール送信できない問題

Gmail で他の SMTP サーバー経由でメールを送信する設定にしていたのですが、配信エラーになっていました。 サポートからの回答 4/16 以前は 対応方法 気になったので調べてみた 4/16 以前は 参考 iCLUSTA+ は、修正可能になりました。(2020年4月16…

C# OS にインストールされているプリンターのアイコンを取得する

コントロールパネルの「デバイスとプリンター」には、各プリンターにアイコンイメージがあります。この記事は、このイメージを取得して表示するサンプルです。 ポイント サンプルの表示部分 アイコンを取得するコード アンマネージドソースなので サンプル …

言語ごとの疑似乱数の種類と Xorshift RNGs による実装

この記事は、いろいろな言語・ゲームに用意されている乱数の実装例と、C# で実装した Xor shift RNGs による疑似乱数生成を使用する雰囲気をまとめた記事です。 いろんな言語 標準ライブラリーの乱数 C C# Java Python Ruby JavaScript Unity ゲーム Xorshif…

WPF DataGrid の列の位置・横幅を記憶する方法

こんな感じのことがやりかったので、テストで作成してみました。 データグリッドの列の見た目(列番号・幅)を保存します 保存する情報 取得 復元 サンプル 参考 今回の例では、ウィンドウ(MainWindow クラス)を閉じるタイミング(Closing イベント)でデ…

WPF 依存関係プロパティを持ったカスタムコントロールの作り方

WPF で依存関係プロパティ (Dependency Property) を含んだカスタムコントロールを作成する方法について、まとめた記事です。 1.カスタムコントロールのファイルを準備する 2.カスタムコントロールの cs ファイル 3.Generic.xaml の編集 コントロール…

厄介なフォーマットの CSV ファイルを読み込む

古いソフトウェアが保存しているセーブデータファイルを開いてみると、CSV ファイルだった、なんてことが 2020 年の今でもあるようです。 厄介な CSV ファイル 使い方 テストによる検証 サンプル 参考 場合によっては CSV 形式といっても、ときどきちょっと…

WPF で Windows Explorer 風のシンプルな ComboBox を作る

Windows Explorer で使われているコンボボックスのイメージはこんな感じのものです。 枠のないコンボボックスが標準なんですね それを、こんな感じで作ってみました。左が作ったもの。右はなにもスタイルを与えていないデフォルトです。 エフェクトを絞った…

WPF 「リボン」コントロールを TabControl で作る

通常のリボンコントロール代替案は「Fluent.Ribbon」になるのですが、コントロールが Office っぽく寄せすぎてしまうため、とりあえずのリボンコントロールを TabControl で作ってみた一例の記事です。 使い方のコード リボン TabControl のコード 補足 その…

Git LFS のインストールと使い方 (Windows+WSL)

Git LFS (Large File Storage) Windows 10 WSL (Windows SubSystem for Linux - Ubuntu) コマンド 参考 Git はバージョン管理に特化したツールなので、大きいサイズのファイル(ラージファイルと省略します)を含めると、リポジトリーが肥大化してしまうなど…

Blend for Visual Studio で簡単なアイコン(図形)を描く方法

Blend for Visual Studio を使って、パスを使った図形を作成するために個人的につかいやすい方法例をメモした記事です。 Blend for Visual Studio を使う プロジェクト選択の注意 プロジェクトの構成 テスト サンプル 参考 シンプルな図形を用意するときはパ…

Unity スクロールビューのつくり方・ポイント

スクロールビュー(uGUI で自作) uGUI で用意された Scroll View レスポンシブなデザインで利用する サンプル 参考 諸々を参考にスクロールビューを使ってみたので、ポイントをメモ。こんな感じのものが簡単にできました。 スクロールビュー Unity uGUI の…

Unity ダメージ表示のアニメーションを(Final Fantasy 5, 6)っぽくやる

最初に成果物を提出。こんな感じになりました。それっぽく見えるとうれしいですが、ROM を解析して厳密にやったわけではないです。 このポロポロ感がほしかった データの詳細は、記事の最後に今回のサンプルデータを公開しているので、そちらをご確認くださ…

Unity モンスターを倒したエフェクト(Final Fantasy 5)っぽくやる

最初に成果物を提出。こんな感じになりました。それっぽく見えるとうれしいですが、ROM を解析して厳密にやったわけではないです。 気持ちいい消え方ー データの詳細は、記事の最後に今回のサンプルデータを公開しているので、そちらをご確認ください。 実装…

Unity パスワードを固定長(64 文字)のハッシュ値に変換する

SQLCipher のパスワード SQLCipher にオススメのパスワード形式 ハッシュ化する仕組みの例 salt の生成 ハッシュ化するためのクラス(サンプル) テスト サンプル 参考 前回までの記事で、SQLCipher を使って暗号化した SQLite の使い方について説明をしまし…

Unity SQLiteUnityKit 暗号化 SQLCipher (SQLite) を Android で利用する(.so コンパイル)

SQLCipher 環境構築 WSL の環境準備 OpenSSL sqlite3.c のコピー コンパイラー (NDK) の準備 コンパイル 暗号化に対応しているかチェックする要点 おまけ デバッグ 参考 前回記事で Unity では、 Windows プラットフォーム向けの SQLCipher DLL ファイルの作…

Unity SQLiteUnityKit 暗号化 SQLCipher (SQLite) を Windows で利用する(DLL コンパイル)

この記事は、SQLite に暗号化機能を加えた「SQLCipher」を(フリーで)Unity (Windows) 向け に DLL をコンパイルする方法を記録したものです。 SQLiteUnityKit 用の SQLCipher を用意するには 環境設定 OpenSSL のインストール SQLCipher のリポジトリーを…

WSL (Windows Subsystem for Linux) を使い始めて確認したことメモ

PC

この記事は、WSL (Windows Subsystem for Linux) を使ってみて、個人的にメモしておこうと思ったポイント記録したものです。 WSL is なに? インストール 環境のメモ Windows 環境から WSL にデータを渡すとき su ユーザーを準備する パッケージマネージャの…

Unity SQLiteUnityKit のスクリプト修正・変更のポイント

SQLite SQLiteUnityKit から、SQLite の実用を目指すときは、注意点がいくつかあります。 今回は、いくつか挙げる注意点から SqliteDatabase.cs ファイルの修正を(個人的に)整理して、サンプルを公開した内容の記事です。 修正1 マルチバイト文字の対応 …

Unity SQLite (Insert, Update, Select) のテスト

Unity で SQLite を使う例として「SQLiteUnityKit」を利用するプロジェクトの環境構築までは、前の記事で説明しました。 SQLite 今回はその続きで、基本的な SQL 文を書いてみて、ちゃんと実行できるかをテストしてみました。 スクリプトの例 テスト ボタン…

Unity SQLite の使い方(補足)

「Unity Android 環境における SQLite の使い方と初期化の基本」記事で、書ききれなかった補足的内容の記事です。 補足1 DLL ファイル 対応ビット数のチェック 補足2 so ファイル 対応ビット数のチェック aar ファイル中身をチェック デバッグ 参考 SQLite…

Unity Android/Windows 環境における SQLite の使い方の基本

この記事は、Unity で SQLite を利用するために Standalone/Android 端末で SQLite DB ファイルを利用できる環境構築をまとめたものです。 開発環境、テスト環境 環境準備 SQLite プラグイン ファイルの説明 プラグイン ファイルのダウンロード DB ブラウザ…

Unity Android の 64 bit 対応と APK ファイルのテスト(アプリ対応)

Google からのご指摘のとおり、Android の 64 bit 対応が必要になっているようなので、対応と設定をテストしたので、その内容を記録した記事です。 開発環境の準備 設定変更 IL2CPP が選択できないとき 対応の確認 参考 開発環境の準備 Unity は次のバージョ…

Unity の SDK, NDK アップデート(Unity Hub と Android Studio による更新)

Unity Hub 確認 Android Studio の再インストール例 Android NDK のセットアップ 設定 参考 Unity の更新などにあわせて、古くなった Android Studio をアップデートしようとしても「Update and Restart」の選択肢が表示されず「Download」や「Update Now」…

Unity スマートフォン(複雑なアスペクト比)対応とレスポンシブ UI の基本

この記事は、「medium - Building a Responsive UI (Unity)」の記事を個人的に意訳し、最後に補足を加えたものです。(正確な翻訳ではないし、画像も自分で試行錯誤の際に作り直しています。ご注意ください)1 Building a Responsive UI (Unity) Canvas Setu…

Unity 2D ゲームの画面(メインカメラ)サイズの選択と設定例

この記事の内容は「Unity blog - 2D アートアセットの解像度選択」の内容を参考にしてゲームの画面サイズをどのように決めて、どのように設定するのか、その一例を記録したものです。 概要・基本的な考え方 例:どういったゲーム画面を考えるのか? 設定 画…