FC2ブログ
就活で精神攻撃を与えらた結果、こうなりゃ一人でやってやんよ!という理由でAndroidアプリの開発をしてるぼくの活動記録です。お金に成るクオリティにしたいのです^p^
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
今回はコレにかなり時間をとられたな。
いや~まったく疲れた。
二度とこんなミスを犯さないようにメモメモ。


【状況】
非表示オブジェクトを表示させるべく、コードにてオブジェクトの表示処理を行う。
意図せぬ動作が起き、時間をとられる。


【問題】
意図せぬ動作→if分岐、switch分岐での分岐処理先のコードがおかしくなる
またオブジェクトの表示も上手くいかない。
意図せぬ動作は下記のような感じ

 if(乱数 == 0){
  処理1;
 }else if(乱数 == 1){
  処理2;
}else ~・・・

とした時、乱数が0の場合でも処理1の動作でなく他の処理Xが実行される
switch分でも同様の現象が起きた。

またオブジェクトの表示も
 gameobject.activ = true;
での反映がされない

【解決】
オブジェクトを最初に表示させておくことで問題が解決した。

【詳細】
上記問題はオブジェクトが初めから非表示の時におきると思われる。
非表示オブジェクトはコンパイル時に排除され必要なデータ(表示オブジェクト)のみが
アプリとして抽出されると考えた。
実際、解決策を実施したことで問題がなくなったので概ね合ってると思う。

なので今回の問題解決の流れは、
ヒエラルキーで非表示になってるオブジェクトを表示してやる
 →コードの開始時に任意のオブジェクトを非表示にする。


こんだけ。
多分デバッグ時ならいいのかもしれないけどコンパイルする時には問題が生じるようだ。
まったく考え付かなかったわ。
一瞬Unity側のバグかと思ったがそんなことはなかったぜ。
やれやれだ。

あと別件だがrayキャストでの当たり判定はコライダがついていないと判定できないのね~。
画像も作ったし、残りはGUIを整えてやるだけ。
明日にはグーグルプレイにだせるようにすっぺ。
スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://unitydev.blog.fc2.com/tb.php/9-bdeb6145
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。