西山 信行

C++でiOSアプリを作り続けるぼっちゲームデベロッパ / 作ったゲームはソースも公開…

西山 信行

C++でiOSアプリを作り続けるぼっちゲームデベロッパ / 作ったゲームはソースも公開するよ / GitHib http://github.com/tek-nishi / 非常勤講師少々 / 左利き / 東ゲ部部長

最近の記事

C#ラムダ式で変数の寿命にハマった一件

この件の続きです コード書いとる? 最近UIToolKit便利ー!って調子に乗ってたらめっちゃ罠にハマったのでメモ書き。ここはnote 何にハマったのかボタンを3つ並べたダイアログを作ってですね、どのボタンが押されたかをC#スクリプト側で判別するため以下のようにコードを書きました。 // パワーアップアイテム選択ダイアログvar powerUpItem = this.testDocument.rootVisualElement.Q<VisualElement>("Po

    • [Unity] Transformをforeachしたら想定外の挙動になった

      コード書いとる? Unity2022.3.xのC#スクリプトで想定外の挙動に遭遇したのでメモ書き。ここはnote 自分の子供を列挙する自分の子供を列挙して親をすげ替えるのに、こんな感じに実装していました foreach (Transform child in transform){ child.SetParent(null);} ところがこれが思ったように動作しない!全て列挙されない...スキップされる。 そう...foreachで列挙している最中に親子関係が変わ

      • Unityにデバッグ用線分描画が新たに追加されてた

        コード書いとる? Unity2022.3.xでデバッグ用ライン描画に新APIが追加されていたのでメモ書き。ここはnote Gizmos.DrawLineStrip引数で与えた頂点配列を順に結んだ線分をSceneビューに描画します void OnDrawGizmos(){ var vertex = new Vector3[] { new(-1, 0, -1), new( 1, 0, -1), new( 1, 0, 1), new(-1, 0,

        • UnityのAddressablesと仲良くなる

          コード書いとる? UnityプロジェクトにAddressablesを導入したのでメモ書き。ここはnote。 Prefabで困る事もある「Prefabにしたらいいんじゃない?」一時期そう考えている自分がいました。ですが...シーン内のGameObjectから強参照しているPrefabは全てメモリに展開されるという仕様を拝見して顔面蒼白になりました(盛りすぎ) 参考資料 https://blog.unity.com/ja/technology/tales-from-the-

        C#ラムダ式で変数の寿命にハマった一件

          バイナリデータをソースファイルに取り込む

          コード書いとる? バイナリデータをC言語のソースファイルからインクルードしたいのだが...という時に便利な手法を見つけたのでメモ書き。ここはnote 動機何を言っているんだ?と思いますが、なんつーか、わざわざファイル読み込み処理やらなんやらかんやら実装したくない状況ってあるじゃないですかー。メモリ効率とか無視してとりあえず動いて欲しいので直接ソースファイルにchar配列で記述したい時もあるんですよ!刹那的プログラミング!! xxdコマンド調べてみたらありました!xxdコ

          バイナリデータをソースファイルに取り込む

          Unityプロジェクトをシミュレーターでビルドできなくて困った話

          コード書いとる? UnityプロジェクトをiOSでビルドしようとしてシミュレーターないいいい!ってなったのを解決したのでメモ書き。ここはnote。 シミュレーターが無い?Unity2022.3.x、Xcode15.2での話です。UnityプロジェクトをiOS向けにビルドしてさてシミュレーターで試してみますか...ってしようとしてドロップダウンリストにシミュレーターが出てこない... Xcodeのビルド設定を直すこれXcodeの仕様変更でArchitecturesやSup

          Unityプロジェクトをシミュレーターでビルドできなくて困った話

          UnityのLayerを攻略した

          コード書いとる? UnityのLayerMaskの苦手意識をなんとなく払拭したのでメモ書き。ここはnote UnityのLayerTagとは別にGameObject同士を区別する仕組み。主にPhysicsで当たる/当たらないを制御する用途で用意されとるという認識。 これってビットマスクにして複数レイヤーを対象にして含む/含まないをまとめて判定できるのが便利なんですよねー。 主にRaycast判定で使います。 int layerMask = 1 << 8;//プレイヤ

          UnityのLayerを攻略した

          macOS SonomaにしたらEmacsのタイトルバーが太くなった...!

          コード書いといる? ちょっと前にリリースされたmacOS Sonoma。拙者的には細かな点で使いやすくなっている印象です。ちなみにEmacsはEmacs28.2派です! …が! Emacsが… Emacsのタイトルバーが………! なんと言いますか、Emacsのタイトルバーが太くなってフレーム名が左に寄ってる! 最悪!!!!!!🤮🤮🤮🤮🤮🤮 解決策初期化時に以下のworkaroundを追加したら直りました🤔 (tool-bar-mode 1) (tool-bar

          macOS SonomaにしたらEmacsのタイトルバーが太くなった...!

          [Unity]ProBuilderの編集機能をスクリプトから使う

          コード書いとる? UnityのProBuilder便利ね。簡単なモデルがUnityEditor上でサクサク作れるので重宝してます! で!ランタイム(アプリ実行時)でも色々できるっぽいので実際に試してみたメモ。ここはnote ProBuilderの機能をC#から呼び出す公式マニュアル https://docs.unity3d.com/Packages/com.unity.probuilder@5.0/manual/index.html 試したのは5.0.7。バージョンが

          [Unity]ProBuilderの編集機能をスクリプトから使う

          [Unity]ScrollViewをクリックしたい

          コード書いとる? ゲームのスコアTOP20をスクロールビューで表示して、画面タップで次の画面へ遷移...と実装しようとして詰まったのでメモ書き。ここはnote UnityのScrollViewUnity ScrollView EventTriggerでネットを検索すると...みなさんめっちゃ試行錯誤しておりました…ですよね! EventTrigger方式だとクリックイベントをScrollViewと取り合って挙動が微妙になる... 解決策たどり着いたのが以下の解決策

          [Unity]ScrollViewをクリックしたい

          [Unity]Time.timeScaleは変えたいがUIのアニメーション速度は遅くしない

          コード書いとる? ゲーム内でスローモーションの演出を実装したらUIまでゆっくり演出になって困りました... でもそれを解決したのでメモに残しておきます。ここはnote。 何が起こったのかゲーム内にスローモーションや早送りの演出が欲しくてTime.timeScaleを変更する手法を試してみた。手軽でいい感じ! ただUIに仕込んでいた演出も一緒にゆっくりになってしまいました...ソコは影響されなくていいです! 解決策AnimatorのUpdate ModeをUnscale

          [Unity]Time.timeScaleは変えたいがUIのアニメーション速度は遅くしない

          VSCodeでC#のプリプロセッサで色分け

          コード書いとる? VSCodeでC#のコードを書いていると「クッ… プリプロセッサで色分け…できてない!」ってイラっとする事があって、調べてみたらサクッと解消できたのでメモ書き。ここはnote プリプロセッサで色分けVisualStudioでコード書いててめっちゃ便利だと思ってるのがこれ。C++やC#のコードを書いている時に、プリプロセッサでコードが無効になる状況を色分けしてくれるやつ!便利よねこれ! が!VSCodeだと色分けされない… どうゆうこと? ふむ…テーマが

          VSCodeでC#のプリプロセッサで色分け

          C#(Unity)ラムダ式を使った時の変数の寿命

          コード書いとる? ラムダ式便利よね。ラムダ式便利! C++のラムダ式とは若干使い勝手の異なるC#のラムダ式についてのメモ書き。ここはnote ラムダ式?ひとまとまりの処理を変数に格納しておき、好きな時に呼び出せる仕組みのことです。 ラムダ式は別途関数定義の必要がなくて、関数の中で書いた処理をその場で変数に格納するのが特徴! Action func = () => { Debug.Log("!!!!); };func.Invoke();// コンソールに !!!! と

          C#(Unity)ラムダ式を使った時の変数の寿命

          C#(Unity)関数オブジェクト再入門

          コード書いとる? C#(Unity)で関数オブジェクトを使おうとするとデリゲートとかの話が出てきてよくわからん!と思ったので自分向けのメモ書き。ここはnote 関数オブジェクトとは変数に関数を代入できる仕組みです。普段C++を使っているので間違ってたらすいません。 int a = 0; // 値を代入void Func() {}Action b = Func; // 関数を代入b.Invoke(); // 関数呼び出し デリゲートとか

          C#(Unity)関数オブジェクト再入門

          UnityのPixels Per Unitをようやく理解する

          コード書いとる? Unityとは...待つ事と見つけたり...(プロジェクト新規作成待ち) それはさて置き!Unityで画像を扱う時のPixels Per Unitがちっともピンときてなかった...のが遅ればせながらピンときた!のでメモ書き。ここはnote ピンときた事例2Dの雛形からプロジェクトを作り、256x256ピクセルの画像をAssetsに加えます それをシーンにドラッグすると、Sprite Rendererを伴ったGameObjectが生成されます ここで

          UnityのPixels Per Unitをようやく理解する

          Unity Hold on...消えない問題ふたたび!

          コード書いとる? ちょっと前に散々悩まされたUnityのHold on...消えない問題が再発してて困ってたんですが、新たな解決策を見つけたのメモ。ここはnote Hold on...消えない問題とはWindows版Unityを使っていると「Hold on...」と表示されたダイアログが消えなくなって作業の邪魔をしてくる問題です 何かしら編集したきっかけでダイアログが一番手前に表示されて拙者の作業を邪魔してくる... マジでこれウザイ!!! 解決方法何かしらメニューを

          Unity Hold on...消えない問題ふたたび!