sceneLoadedで詰まる

アンドロでの動作確認をいちいち実機でやるの面倒だよね。エミュレータ使えば楽になったりする?ってことで調べて

英語とか Unityで作成したアプリをAndroid Studioのエミュレータで動かす

エミュ動かせるまでにはなったけどさ、Unityでビルド&ランを実行したらビルドは瞬時に終わるんだけど、エミュへのインストールに5分以上かかってまじうざい。実機へファイル転送してからのインストするほうが時間が短いってどういうことだよ。エミュの出番ないじゃん!複数解像度試せる利点はあるから良いのか。何か設定が悪いのかしら?

エミュは一旦我慢するとして、サンプルコードに以下の関数が有りましてね

//This is called each time a scene is loaded.
void OnLevelWasLoaded(int index)
{
   //Add one to our level number.
   level++;
   //Call InitGame to initialize our level.
   InitGame();
}

OnLevelWasLoadedが非推奨になって将来廃止予定だよって警告がでるの。代替案があるんだろ?って探したらSceneManager.sceneLoadedを使えば良いらしい。あまり深く考えずに書き換えてみよう。要点抜き出すと

void Awake()
{
    SceneManager.sceneLoaded += TestSceneLoaded; 
}

void TestSceneLoaded(Scene sceneName, LoadSceneMode sceneMode)
{
    level++;
}

これで解結すると思ったらバグ発生。ローグライクでlevel1(1階層目)から始まるはずが2でスタート。次のlevelへ移動したら数値が+1ではなく+2される。なんじゃこりゃー。Awakeが複数回呼ばれてsceneLoadedへ関数2回登録したとか?調べたけどそんなことはない。Loadedがゲーム開始時に1回呼び出され、レベル変更時には二回呼び出されてる。なんで?

そもそも、Levelは1で初期化してんだよね。シーン呼び出し時に+1されるのだから、2から始まるのは当然か。最初のサンプルコードでは何故+1されず1でスタートしてんの?OnLevelWasLoadedが呼び出されてないんじゃね?調べてみると

Awake
OnEnable
OnLevelWasLoaded
Start
の順番で呼び出される。
Awake,Startはひとつのオブジェクトについて、一度しか呼ばれない。
しかし、OnEnableは、Enableされるたびに呼ばれる。

で、OnLevelWasLoadedが呼び出されてないんだがどういうことだよ。よくよく調べてみると、最初のシーンロード時はOnLevelWasLoadedが呼び出されないんだってさ。

わ か る か よ

名前見たらロード後に呼び出すとしか思わんわ。2回目からのロード時に関数が呼び出されるのなら、OnLevelWasLoadedの話は解決。次はsceneLoadedの仕様を解かねばならぬ。解説ブログをぐぐり

  1. Awake
  2. SceneManager.sceneLoaded
  3. Start

の順番で呼び出しが発生すると判明。つまり

Startでメソッドを登録すると最初のシーンでは実行されず
Awakeでメソッドを登録すると最初のシーンでも実行されます

あーなるほど、そういうことか。

わ か ら ね ぇ Yo!

結論として

void Awake()
{
    //SceneManager.sceneLoaded += TestSceneLoaded; 
}

void Start()
{
    SceneManager.sceneLoaded += TestSceneLoaded;
}

void TestSceneLoaded(Scene sceneName, LoadSceneMode sceneMode)
{
    level++;
    InitGame();
}

こう書けば良いのでした。

【Unity】OnLevelWasLoadedとSceneManager – うら干物書き

Lサイズで300円なー

<大川小保存>設計時「津波」思い至らず (河北新報) – Yahoo!ニュース
水曜インタビュー劇場(地図公演):なぜ地図で「浅草寺」を真ん中にしてはいけないのか (1/6) – ITmedia ビジネスオンライン
きもの大園遊会で初の撮影登録制 「嫌なポーズ強要された」などマナー悪く (産経新聞) – Yahoo!ニュース
「1000兆分の1の精度」で加速度センサーの誤差を識別する技術、KDDIが開発──その意外な使い道とは – Engadget Japanese

君の名は。 – 商品一覧 – 【ローソンプリント】エンタテイメントプリントサービス

4636934520
ピアノソロ 『 君の名は。』 music by RADWIMPS

マジでやばみしかない

「語彙力ない小説」の語彙力がなさすぎてマジでやばみしかない – Togetterまとめ
将棋電王トーナメントPonanzaが連覇。コンピューター将棋界の進化が止まらない – Engadget Japanese
過労自殺の根本原因は「1度の失敗も許さない社会」
電通新入社員自殺に考える、労働環境を整備することの本当の意味 (榊 裕葵 社会保険労務士) 
「汚れる遊びはやめて」「トイレトレーニングもお願い」 保育士を困惑させる傍若無人な保護者たち
ケンタッキーの骨でキングギドラやスカイツリーを作る人にテレビ番組の製作依頼が…「全部込みで1万円で作って」 – Togetterまとめ
〇〇君は残業ほぼしないし、営業成績もいいから給料を上げた。△△君は…:(*゚∀゚)ゞカガクニュース隊
皇居でベルギー国王夫妻の歓迎式典 | NHKニュース
完全菜食主義者を風刺する「完全肉食主義者」が食肉の素晴らしさを説くムービー – GIGAZINE
「うじゃうじゃ来るなタダ飯乞食どもが」 吉野家バイトがSoftBankユーザーにブチ切れ | netgeek
現代の日本で「海賊」にはどうやったらなれるの?軍事専門家に聞いてきた | オモコロ
刑務所の木工品が…かわいくない! 京都女子大が異例のコラボを決断 – withnews(ウィズニュース)
「なんやこれ…」捜査員もうなった不可思議な遺体 19歳男女なぜ亡くなったのか (産経新聞) – Yahoo!ニュース
検索ワードを入れる順番で結果がこんなにも変わる!?常識だと思っている検索方法も実は技術の1つ – Togetterまとめ
「守るべき」か「解体すべき」か
戦後建築と祭りの価値:連載「21世紀の民俗学」(9)|WIRED.jp

速報:サムスン、炎上スマホ Galaxy Note 7の生産を完全に終了。回収・交換品でも発火の報告続く – Engadget Japanese
慶応ミスコン中止の本当の理由が明らかに 未成年の飲酒だけでなく集団強姦も明らかに | ゴゴ通信

Unityローグチュートリアル完了

2Dサンプルなローグゲームチュートリアルを無事に完遂。本当に基本だけのチュートリアルだから、色々いじって使い方を覚えていくのが妥当。何を変えようか。イカちゃんローグの絵を持ってきて貼り替えるところからやってみる?

それはともかく、Winデスクトップアプリ以外にAndroidなAPK出力にも成功。スマホとガラホに入れて動作確認もOK。WebGLが選べたのでやってみたけど、ビルドに30分近くかかったんだよ。この規模が小さいソフトでこれって…。なおかつブラウザで正常動作しないオチがついてきた。chromeとfirefoxどちらもアウト。こりゃどうにもならぬ?何か設定あるんかね

無料の3Dモデルが無いかと探していたら

ImagineGirls – ImagineGirls オフィシャルサイト

エロもOKらしいよ。

たわわ削除

電通マン「うちの窓からの景色に電線が入ってくるから、電気を引くな」→電通と言いながら電気を通させないとは、これいかに – Togetterまとめ
ノーベル経済学賞に米経済学者2人 契約理論に貢献  :日本経済新聞
アニメ「月曜日のたわわ」サプライズ公開からサプライズ削除へ 全12回での公開のはずが……どうなるの? – ねとらぼ
組体操が無くなった運動会の感想文 – スズコ、考える。
将棋最強ソフトは「ポナンザ」=来春、叡王戦優勝者と対局 (時事通信) – Yahoo!ニュース
レッテルのある教室 前編・後編 | SQUARE ENIX
【無知ほど怖いものはない…】奥多摩町の空き家対策で空き家の一軒家が月1万以下で借りることができる。→実際は… – Togetterまとめ
瀬戸内寂聴「殺したがるばか」発言の何が問題なのか?“被害者感情”を錦の御旗にした死刑・厳罰化要求の危うさ|LITERA/リテラ
電通社員が自殺に追い込まれた際に奪われた「自己コントロール感」 | 2016年の労務 ニュース 節約社長

君の名は

上映開始1時間前ほどにボンと行くことが決まり、大慌てで出発。

上映直前だからネットでチケットを買うのは無理になっていた。現地へ向かうも、上映開始時間になってしもうた。ボンはまだ居ない。一つ遅らせる?結局は急いで映画館へ入ったんだけど、他映画の予告編などで10分ぐらい使うわな。お隣りに座っているのは小学女子3人組。恋愛ものだと聞いてやってきたのだろうか。

映画の内容は省略。思い返せばあれが伏線それも伏線でフラグだったんだなー。ってわかんねーよ。

昼飯食ってないのでパンフを買ってサイゼリヤで飯を食らうことになった。ビールでかんぱーい!ワイン1.5リットルも追加。ほぼほぼ1人で飲み干し、つまりは記憶がない。イオンのエスカレーターで財布を落として拾おうとしゃがんだら、転んで危機一髪だったのはなんとなく覚えてる。後のことはさっぱり覚えてないわ。何時頃解散したんだっけ。

1 139 140 141 142 143 360