投稿者: moleking

うにのトゲは刺さると痛い(´・ω・`)-11

本格的にリファクタリングを試みる(`・ω・´)

凄くベタな書き方をしてきたのでリファクタリングをすることにした。
という風に書くと意識高いというか余裕があるように見えるが、実際は今のままだとカードセットの変更が非常に面倒くさいことになると気づいたからだった(ノ∀`)

今内部で処理しているトランプのカードセットと今後追加したいカードセットとでは構造が異なるので、まずはカード絡みの処理をインターフェイスや抽象クラスにしておくかと頑張った(`・ω・´)

初めにいびつな形でカード用のプレハブに貼り付けていたCardManagerを分離し、カードのparentになるCanvasに共通の処理のみを持つCardManagerを貼り付けて、各カードにはACardInfoを継承したクラスを貼り付け、そのクラスにACardDataというカード情報の実体を持たせた。各カードへカード情報を設定する為のACardSetを継承するクラスも作ったら一応、目的通りの挙動になった。まだ完成はしていないけれども(ノ∀`) 大枠の部分は出来た。

参考:
インターフェイスのプロパティ (C# プログラミング ガイド)

C#のインターフェイスってフィールドを持てないんだね(´・ω・`)
Javaは持てた気がするんだけども。仕方がないので抽象クラスにしたけども。
Why can't C# interfaces contain fields?

eclipseに比べるとやっぱりなんだかVisual Studioは使いにくいねぇ(´・ω・`)
Visual C# のコード スニペット

試してはいないけれども、自分でコードスニペットを作ればいいのだろうか。
チュートリアル: コード スニペットを作成する

インターフェイスじゃなくて抽象クラスで受けてる(´・ω・`)
GetComponentを使うときはインターフェースを使おう


スクリプトをファイル名指定で動的に追加する

こんな感じらしい。つーかこれってスクリプトに限らず、あらゆるコンポーネントの動的追加方法か。取り敢えずstart()とかは動かない模様(´・ω・`)

targetGameObject.AddComponent(Type.GetType(scriptFileName));

参考:
Unityスクリプト実装メモ


EventTriggerの動的追加

Unity 動的にEventTriggerへ引数を持った関数を設定する方法の回答の通りにしてみたけど、何か追加されていないように思える(´・ω・`)

色々悩んで、ぐぐり直した結果、

注意点として、この方法で追加したeventはインスペクタに表示されません。
自分用Unityメモ:EventTriggerにスクリプトからEventを追加する

ということだった…_| ̄|○ ドウイウコトダネ…


Textの追加
本当は先に神経衰弱の追加要素を先に作ろうと思っていたが、国旗のデータセットを作ってしまったので、後で追加しようと思っていた文字表示を先にやっつけた。まだ細かいところを直していないのでアレだが、何はともあれ簡単にGameObject上に文字を表示出来るのが判って良かった(・∀・)

uGUIのパーツを一発生成
【Unity】ScriptからuGUIのTextにアクセスして内容を変更する


あとはPlayerPrefsリセットボタンを追加したり、タイトル画面にカード・タイプ選択用のドロップダウンを追加した。

参考にしたコードに

            //dropdown.RefreshShownValue();//更新を確認(画像を設定したとき)

と有ったのに、移植する際にコメントを削ってしまったが為にハマることに(ヽ'ω`)

別段画像を設定したわけではないのだけれども、RefreshShownValue()を入れないとIndexが0の場合に表示が真っ白になってしまった(´・ω・`)

内部的には問題はないようであったが表示がされないよう(´;ω;`)と悩んだ挙げ句、スクリプトリファレンスを眺めて、Dropdown.RefreshShownValueかヽ(`Д´)ノ と追加して解決してドヤ顔だったが、このエントリを書く際に参考にしたコードに既に注記されていたことに気づき、へこむ(´・ω・`)

参考:
Unityで、保存データ全消しのデバッグ用ボタンを配置する ← なんかWordpressのエラーが表示されてる。
【Unity】【C#】uGUI ドロップダウンの要素をコードで設定と取得、外観のカスタマイズなど

うにのトゲは刺さると痛い(´・ω・`)-10

データ作成で時間がかかる(´・ω・`)

一応、前回で音楽有りのカード枚数を変更したりすることが出来たので、新たな機能を追加しようと思ったが、適当に作っていたから色々とコードが酷い(ヽ'ω`)

というわけでちょこちょこリファクタリング…というよりも大手術を実施中。
その途中で新しいカードセットが必要となり、国旗のセットを作ろうと目論む。
なんやかんやで無料素材があったのだけれども、その他のデータもついでにちょっと載せようとしたが為に、中々データ作成が終了しない…_| ̄|○

国連加盟国が193だか194で、日本が認めているのが196くらい?
なんか国連の広報センターだかが出してる国連加盟一覧は2014年のもので内容が古かったり、外務省の正式名称とも違ったりしていてイヤンな感じである(´・ω・`)

謎のエラーにハマり中
そんなこんなでデータ作成に一日二日と掛けていてコードの方はほとんど触っておらず、Android端末での起動もしていなかった。久しぶりにちょっと起動して愕然とする…カードの表側が表示されずに真っ白……( ;・´ω・`)ゴクリッ
Unity Editor上では正しく表示される…

新しくFilePathを追加したのがいけないのかと思ったが、Unity Editor上では問題ないし…

色々と調べた結果、どうもAndroid端末上だとTextデータが正しく読み取れていないみたい。
その結果、imageをロード出来なくて真っ白白助になっている模様(´・ω・`)
カードをクリックしてマッチしてない場合は戻り、マッチしている場合は消えるので他のデータはきちんと読み込まれている。

なんだろう… "SQLiteUnityKit" の使い方を間違えているのか……ちょっと調べないといけないな…(ヽ'ω`)


と思った数時間後、原因は判明しないが一応の解決はした。

色々とぐぐっても同じような事象はこの一件だけ。しかも何のコメントもなし。
How to make Sqlite work for Android with Unity and SQLiteUnityKit

それ以外でヒットすることもなく。凄く悩んだ(´・ω・`)
最初は何らかの処理が足らないかと思ったが、そんなこともなく。
AndroidではTEXT型だけ読めないのだろうかと思ったが以前試したdbのプロジェクトでは何事もなく読み取れた。

コードの書き方が悪くて負荷が大きくなって読めないのかと思って色々試したが状況は変わらず。
StreamingAssets内のdbを一旦削除し、残しておいた元dbをもう一回フォルダに突っ込んだけれども状況は変わらず。

致し方なく以前上手く動いていたdbを今のプロジェクトに持って来て試したところ、TEXT型の内容が読み取れた( ・´ω・`)?
最終的にそのdbを改変して内容をコピーした結果、無事に前の通り動くようになった…_| ̄|○

元々のdbが壊れたのだろうか…でもPC上では動いたな。
そう言えば、Android端末を再起動したのが効いたのかな?
dbは後から列を加えたりしたので、Android上のsqliteが前のdbをキャッシュしてて、それを読み込んでいたのかな?

まあ何はともあれ、何とか解決して良かった(・∀・)
また時間を無駄にしてしまったが…_| ̄|○

※追記
もしかすると上記の予想で当たりかもしれない。同じ現象に遭遇したが、Androidを再起動して、アンインストール後にインストールし直したら無事に解決した。アンインストールも関係ないかも。 一回でもアプリを起動して、その中でdbを使った後、PC上でdbの中身をいじってから、Android端末を再起動していない状態でアプリを再インストールすると駄目だったから。

うにのトゲは刺さると痛い(´・ω・`)-9

音楽とかどうすんべか(´・ω・`)
俺氏は基本的にスマホゲーを音を出してやることがないので、余りスマホゲーにおけるBGMをあんまり重視していない。

加えてそもそも神経衰弱にBGMはなくてもいい気がしていたので、最初はBGMなしでもいいかなと思っていたが、やっぱり一応デフォルトのBGMだけは用意しておこうと思い直した。

だがしかし、俺氏、音楽センスが壊滅的にない(´・ω・`)

故にBGMとかどうしようかなと悩む。著作権フリーの無料素材でもいいかなと思ったが、何となく自動生成するソフトを探した。あるにはあったがWindowsアプリのものは高かった(´・ω・`)オカネナイン

仕方がないので登録が面倒くさいので回避していた音楽自動生成AIのWebサービスに手を出す。
最初にAmper Musicを試したが、設定が悪かったのか、やけに普通のイケてるっぽい音楽(?)みたいな感じのばかり出来てしまうので、Jukedeckの方も試してみる。どっちも似たような感じかなぁと思ったが、何となくBGMっぽい感じの音楽を生成出来たのでこれでいいやと適当に決めるw

 

ちなみにJukedeckで生成した音楽を無料で使用する場合は

Music from Jukedeck – create your own at http://jukedeck.com

というクレジット表記が必要らしい。著作権もJukedeckのモノになるらしい。まあAIに作ってもらっただけなので、それは別に構わないだけども、AIによる生成物の著作権って厳密にはどうなっていくのだろうか(´・ω・`)

それはともかく、大体俺氏が48枚セットで3分くらいかかるので、まぁ1分30秒の音楽をループさせておけばいいかなという感じに設定して生成したが、当然のことながら曲頭と曲終わりが綺麗に繋がるわけもなくw
致し方なく、曲終わりに3秒ほどの無音を挿入して調整してみたが、やっぱり不自然な感じは否めない(´・ω・`)シャアナイ

効果音については効果音ラボというサイトからかっぱらってきてもろてきた(・∀・)
ってよくよく考えみるとこのサイトは「Unityの寺子屋」で紹介されていたサイトだった(ノ∀`)モウワスレテタ


ゲーム作成には関係ないけれども、ぐぐってる途中で見かけたもので何となく面白そうだったもの。

Photo Musicという画像から音楽を生成してスライドショーにするというソフトは発想が面白かったな(・∀・)
フリー版を試しただけなので全機能についてはよく判らないけれども、各画像から生成された音楽を上手くつなぐような補完部分も生成してくれたら画像を1小節とかの単位でのパーツとしてブロックを組み立てるように出来るのになぁと思った。

Win専用の自動作曲・演奏ソフト【Deep Blue Juke】公開しました
こちらは生成物を出力するわけではないので試していないけど、面白いかもと思った(・∀・)
喫茶店とかでカスラックにウダウダ言われない為にはこういうBGM自動生成ソフトが必要になってきそう。


取り敢えず音楽関連はこんな感じでお茶を濁しておきたい。
本気でやろうとしたら悪い意味で絶対ハマるし(´・ω・`)

最終教師 / 山本貴嗣

最終教師

清楚な外見にして実は総番であるブルマー少女・白鳥雛子が、荒廃した学園を建て直す(?)為に派遣されてきたゴキブリ改造人間・茶羽顔八とバトルし続けるギャグ漫画。

全三巻。正確にはPart1が全二巻でPart2が全一巻。セールの時に32+10+10=52円で買うた。マンガ図書館Zでも読めるようだが、表紙がなんか違うような気がするから、出版社が違うバージョン?


白鳥雛子
真面目そうな外見とは裏腹に私立帝王学園高校を取り仕切る総番。何故にブルマーを穿いているかと言えば…まあ、在り来りな理由であるw

顔八と渡り合える高い戦闘能力を持つが、なんでそこまで強いかは謎w

ちなみにPart1の舞台は私立帝王学園高校で後から顔八が赴任して来る流れだが、Part2では顔八が牛耳る私立最終学園に雛子が転校して来る展開。

茶羽顔八

遺伝子実験の結果生み出された改造人間。嵐に紛れて脱走し、数年後、茶羽顔八として現れた。ゴキブリとの掛け合わせの為、生命力が高く、しぶとい。何故に教師を志したかは不明w

笑った顔はやや小林まこと風。


狩魔無礼
結婚式場を装った遺伝子工学研究所・梅雄会館の所員。顔八を追い続けている。

髪型の所為か、最初の登場シーンはブラック・エンジェルズ末期に出て来るモジャ頭キャラ・運命を彷彿とさせる。

今年の始めに亡くなった、作者と劇画村塾で同期であった漫画原作者・狩撫麻礼がモデル…なのか、ただ名前をもじっただけなのかは不明。


梅吉
雛子の子分。顔に似合わず役に立つ男。

渡辺隆一
雛子の子分。帝王学園のインテリの神様と呼ばれている。二巻では何故か巨漢のデブっぽい体型になっている。
私立最終学園の文化部
顔八によって支配された私立最終学園で非行生徒として追い詰められていた文化部の面々。
園芸部 鍬形満、家庭科部 団厨太、文芸部 五月メイ、帰宅部 寝虎。

凄く疑問に感じているのはこの絵柄。なんか細野不二彦っぽい。
3巻は2巻が出てから5年ほど経ってから執筆された作品らしく絵柄が全体的に違うんだけども、寝虎は特に細野不二彦っぽいw
作者が絵柄を変えたのか、それともアシスタントがこういう感じの絵を描くのか…

エルフ・17」とも「SABER CATS」とも何か違う絵柄なんだよなぁ(´・ω・`)


こういう「これは…の分、これは…の分…」的展開の大元の作品は何だろう?
漫画なのか映画なのか…


まあ学園ドタバタ格闘コメディ物なので、そういうのが嫌いでなければ十分楽しめるのではなかろうか。まあ短いのが難か。短編も何本か収録されていたな、そう言えば。