個人iOSDeveloper,Unityユーザーです。
作ったもの、試したことなど。

デリゲートがちょっとわかるようになった時の話 (C# Unity

デリゲート(委譲)って何だろう、

と書き方を調べて、真似て書けるようになっても結局
「どう便利なの?どういう場面で使うの?」となってしまう。

 

そもそも「委譲って何だろう?」という疑問は、
「やったー、自分のプロジェクトのここに使ったら便利そう!」と思えることができたら、
ちょっとくらいコードの書き方が変わってたって、覚えることができる気がする。 

こんな物語を考えた(間違ってたらお手柔らかに教えてね

茶色ウサギドラマークラスは演奏して歌を歌うことができる。
歌の歌詞は番号を受け取って、その番号に当てはまる歌詞を探して歌う。
持っているのは1 オウイエ〜 2 フゥー 3  ラブユー♪ といった具合である。

 

白猫クラスは、オウイエ〜と歌って欲しい。
しかし番号で示さなければいけないので「えーと、2番を歌って」と命令する。
しかしいざ実行すると、オウイエ〜は2番ではなく1番の歌詞だったので
「1を歌って」と命令し直した。
番号が求めてる結果かどうかは、歌ってからじゃないと分からないからね・・。

f:id:osushioisi:20210317215058p:plain

すると茶色ウサギドラマークラスの演奏システムを使いたい者が増えた。
カエルは「ゲロゲロと、雨雨フレフレ♪の2つを歌って欲しい・・」と思っている。
しかしゲロゲロと歌う結果は無かったので、
茶色ドラマークラスの歌詞を書き足して増やすことにした。
その歌詞は、5番目と6番目に書き足された。

 

すると後日・・・カブトムシが現れて「ビーズのようにきらめく樹液が・・うんたらかんたら・・」という歌詞を要求した。
茶色ウサギドラマークラスは歌詞を追加し続けた。その時歌詞は120を超えていた。

 

後日リスが現れて「お〜私のドングリ♪ 英語モードではOh my baby girl♪ね。」とさらりとローカライズ を要求した。
この要求を満たすためには、120を超えたすでにある歌詞にも”日本語版なら・英語版なら”という条件を、追加しなければならなかった。

 

後日ネズミがやってきていつものように145番に歌詞を追加していった。
(実はネズミは歌詞の番号を間違えて持っていて154番だと思っている・・・・・)

 

後日犬がやってきて160番の歌詞を、日本語版とイタリア語版(英語版なし)を要求し、チョウチョがやってきてドイツ語版とロシア語版(日本語、英語、イタリア語版なし)を要求したが、ドラマーは要求に応えられなかった。

 

さらに後日キツネが現れて「ランダムに数字を決めて、偶数なら”右へ”、奇数なら"左へ"、さらに10ぴったりだったらドラマーが客席にジャンプしてくれ」
と言い出した。
ランダムに数字を決めるのはいいけど、それは猫やカブトムシやリスやカエルの歌詞と矛盾したりしないかな?
歌詞ももはや歌詞なのか分からなくなってきたし、
ジャンプ??歌詞とかそういう・・なんかもう、違う。

 

茶色ウサギドラマークラスは
白猫に呼ばれた時は演奏を初めてランダムに数字を振って日本語版か英語版か聞いて言われた歌詞を歌って右でも左でもなくてジャンプしない。

カエルに呼ばれた時は演奏を初めてランダムに数字を振って日本語版か英語版か聞いて言われた歌詞を歌って右でも左でもなくてジャンプしない。

キツネに呼ばれた時は演奏を初めてランダムに数字を振って日本語版か英語版か聞いて言われた歌詞を歌うか歌わないか分岐して右か左かを決めてジャンプをするかもしれない。

ネズミが存在しない154番の歌詞を呼び出した時、茶色ドラマークラスはnullを出して泣いてクラッシュした。

 

じゃあ、カブトムシはどうだったっけ。
もう森の誰も詳細が分からない。

 

f:id:osushioisi:20210317215056p:plain

森の仲間たちはもっとシンプルにしたいと思った。

 

茶色ドラマークラスは、演奏を初めて「何かする」をするだけにした。

「何かする」内容はみんなに決めてもらうことにした。

 

白猫が使いたい歌詞は、白猫に持っていてもらうことにした。
番号じゃなくて、使いたい歌詞そのものを自分で持っていてもらう。
これで白猫が使いたい歌詞なのに「歌詞の何番だったかな・・」と不安になることもない。
カエルが使いたい歌詞はカエルのカバンの中に。

キツネが使いたいランダムの数字も、キツネがサイコロを振ることにした。ジャンプの仕方も、右と左が何なのかも、茶色ドラマークラスはさっぱり知らないけど、知らなくていい。

 

茶色ドラマークラスを使いたい動物たちがこの後何十何百と増えても、何語で歌おうが
ジャンプしようが、茶色ドラマークラスは何にも知らない。

 

茶色ドラマークラスは演奏を初めて「何かする」だけになった。
「何かする」関数はそれぞれの動物たちの中にある。

 

実際どういうとこで使ってて便利に思ったか

文章をセーブしたりロードしたりするクラスがあって
その文章を使いたい別クラスがあった。
デリゲートを使ったらセーブキーとか移動させないで
「ロードする」の一文で全部を使えたので便利だった。

コードの書き方

実際にC#を書く際はこちらがわかりやすかったです。

kan-kikuchi.hatenablog.com

都道府県を覚えるアプリ(iOS)を作り始めました

追記2021/03/27 リリースしました

じぶんでおぼえる都道府県

じぶんでおぼえる都道府県

  • Sumie Watanabe
  • Education
  • Free

apps.apple.com

 

 

イデアとしましては、自分が都道府県と紐付ける事物を設定できるという点です。

画像と、文章を考えています。

画像をカメラロールから設定する方法としてunimgpickerを使用させていただきました。

Unity iOS/Android で端末内の画像を使うためのプラグインを書いた

実機テストでも一応うまくいっているのですが、ちゃんとできるかな・・?

 

f:id:osushioisi:20210219205829p:plain

 対象年齢は4、5歳から小中学生。もちろん大人も使えますが

デフォルトはひらがなだったり文字の大きさや雰囲気は

ティーン向けにしています。

 

 

完成まで作れるかな。アイデアを考えているときはとっても楽しいです。

unity1weekのゲームをiOSアプリにしてみる

note.com

はこのなかみは?

はこのなかみは?

  • Sumie Watanabe
  • ゲーム
  • 無料

apps.apple.com

 

今回挑戦したかったことは

unity1weekで作ったゲームをアプリにするのに何が山になるか?

NCMBで作ったランキングって動くのかな?

UniRxをはじめて使ったけど、iOSで動くかな?

でした。

 

大体1週間くらいリファクタリング、問題追加して

1週間くらいでテスト、ストアを準備して、配信できました。

こう書くとあっさりですが、リファクタリングが作った時と同じくらい大変でした。

まあちょっとは私にとって学びがあったということで・・

 

1月にクリスマス風のアプリを出すという・・笑

また来年の冬ごろに思い出して、遊んでみたいと思います。

 

unity1weekで作ったゲームをアプリにするのに何が山になるか?について

1、unity1weekはアイデアありきなので画面のサイズがスマホ向けでない可能性がある。

(「ふえる」で参加したクーニャンのおうちは家を積んでいくゲームだがスマホで遊ぶと

家が潰れて見えないと思う(想像だけど)

2、アイデアApple向きでない可能性がある(何かのパロディなど

3、操作方法がスマホ向きでない可能性がある(キーボードで遊ぶ、AWSD操作など)

 

まあ当たり前だけど、気に入ったからピャッピャとスマホアプリにしてみよ〜

では作れないということがわかった。

CatDaily スタンプ帳(iOS) v1.0配信中

apple.co

 

やったこと・やらなかったことを可視化!自由に自分のスタンプ帳が作れるアプリです。ハンコを押した日時・今の時間との経過時間、次のハンコとの時間間隔、目標ハンコ数、目標のハンコ間の間隔を設定できます。各ハンコは編集でき、メモを入れることができます。

 

f:id:osushioisi:20210125092746p:plain f:id:osushioisi:20210125092656p:plain

f:id:osushioisi:20210125092651p:plain f:id:osushioisi:20210125092708p:plain

 

使い方例

・布団干したのいつだっけ?
つい忘れがちな不定期なタスクを一目で分かるように管理できます。

・30回お手伝いしたらおこづかい!
スタンプ帳の目標を「30回」に設定してください。ハンコが埋まっていくのは楽しい!

・英語の勉強をする
テキストをしたら星ハンコ、字幕で映画を見たら花のハンコなど色々な使い方ができます。

・たまにジョギングするかも・・
目標から外れても見た目のペナルティはありません。
「しばらくできない」「今日はやったことにする」などゆるい目標にも強いスタンプ帳です。

・クセをやめる
クセを出してしまった日だけスタンプを押すと、クセをしていなかった時間がわかります。
自分流の「しなかったこと」を記録できます。


・無料アプリです。バナー広告が挿入されます。
・他デバイスと通信、共有する機能はありません。お店のスタンプ帳を作成・配布するアプリではありません。
・通知機能はありません。

 

 

 

 

 



 

Unityアセット 水が作れるWater2D(FREE

 

水、オイルのようなオブジェクトを蛇口から出せるアセット

Cameras

Water2D_Spawner

WaterDrop

の3つのPrefabを置くことで使えます。

 

水オブジェクトはLayerがDefaultのものに影響するので、

水に干渉させたくないオブジェクト(背景とか手前にあるものとかも)は

LayerをBackgroundかLayer8以降に変更します。

 

f:id:osushioisi:20201125101521p:plain

 

子供向けようアプリを作る際に

コライダーをつけたコップで水をすくったり、

コライダーをつけた手で蛇口を塞いだりする遊びを作りました。

簡単なのにすごく面白い絵が作れるのでオススメアセットです。

カメラを変えなきゃいけないのだけがちょっと使いづらかったです

 

有料版のWater 2D Proでは2種類の水を混ぜて色を変えたりできるみたいです。

面白そう

f:id:osushioisi:20201125102248p:plain

 

Unity タッチしたところに水の波紋アセットWater Ripple for Screens

 

使い方はRippleEffect Script をMain Cameraにアタッチするだけなのですが

スマホにビルドする際に一つ設定が必要です。

アセット内のRadme.txt参照

 

Edit->Project Settings -> Graphics

'Hidden/RippleDiffuse'をAlways Included Shadersに含める

f:id:osushioisi:20201125100219p:plain