FC2ブログ
就活で精神攻撃を与えらた結果、こうなりゃ一人でやってやんよ!という理由でAndroidアプリの開発をしてるぼくの活動記録です。お金に成るクオリティにしたいのです^p^
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
現在unityでshurikenを使用してのエフェクト作りを行っている。
手軽に派手なエフェクトが使えてイイネ!ってかんじ。

なれないうちは思うように動かせなかったりしてパラメータを
ちまちまいじり時間を取られる。
というかエフェクト一つ作るのも大変だな。
例のネット本買ってひととおりの基礎はできたかんじゃないかな。
今後作るゲームに活かしたい。
ただモバイル系だと高い負荷にならないように注意しないとなんだろうなぁ…

エフェクトの課題として
適当なゲームを見て、それらに使われてるモノを再現できるようにしよう。

ここんところオンラインアプリを作る環境が今だ整わないためしばらく
アプリをリリースできてない。
今月は一個もリリースできてない!!
なんてこった!!
せめて来月には何かしらの成果物を上げたい。
もっとパワーアップしたものを出してやりたい!!

精進せねば。
表題のとおり、
unityでビルドしてxcodeでプロジェクトを起動し、アーカイブしてディストリビューションしたら
エラーが出た、

うんちゃらかんたらアーキテクチャがどうたらarmv6がどうのだとか。

とりあえずビルドセッティングのアーキテクチャのところが

armv7 armv7s

となっておりarmv6が見あたらなかったので追加してやった。
そしてアーカイブ~
今度は
よくわからないエラーが三つほど出た。
うち一つは証明書関係の凡ミスみたいなものだから良いとして
残り二つはググっても有用な情報が見つからなかった。
というより日本語での情報がなかった。

unityでプロジェクトを吐き出したことによるunity独自のエラーなのかもしれないと思い
xcodeでネイティブアプリのプロジェクトを作成してやってアーカイブ~の流れで
やると上記の2つのエラーは検出されなかった。


やはりunityで吐き出したことに原因があるのかと思い、
試行錯誤した結果、原点回帰。
最初のエラーはarmv6うんぬん出てた。
armv6を使用するプロジェクトなのにarmv6がアーキテクチャに含まれないから出たエラーなんじゃないか?
と考え、unityのbuild settingの中身を確認
すると

あった!
レンダリング処理みたいな所でユニバーサル?見たいな表記でarmv6 armv7と設定されていた。
コレをarmv7のみに設定して、念のためレンダリング処理もopenGL ES1のやつにして再度ビルド。

xcodeで起動してアーカイブしてやったら

無事itunes Connectにアップできた!

いや~なかなか冴えてた結果を出せた。

コレ検索に引っかからなかったのはみんなこんなエラー出てなかったのかね?

ん~、そういえばどっかにarmv6関連のエラーが出た時、ソレを回避できる方法を載せてたサイトが合った気がする。
今度作成するアプリでちょっと試してみよう。
表題の件・・・
rigidbody.constraintsを操作してフリーズのon/off切り替えをしようと思ってたのだけど
どうも指定したもの以外はoffになる仕様らしい。

なんだこの不便な仕様は・・・
と思って色々調べてみたらどうもvalue_が引っかかった。

google先生に聞いても有用な情報がパッとみ見つからなかったので
自分でいじっていたらどうもintをいれれば良いらしかったから
適当に

rigidbody.constraints.value_ = 1;

とかで動かしてみてみると、インスペクタ上で固定のチェックが入るのね。

コレだ!と思って2,3、とか入れてもなんか思うようなチェックが入らず
試しにビットシフトで代入してやった。


rigidbody.constraints = 1 << 4 ;

そうするとrotationのxにチェックが入った!

同様に1<<1だとpositionのxに1<<2だとpositionYにチェックが入る

どうもこんな感じ
position
X 1<<1
Y 1<<2
Z 1<<3

rotation
X 1<<4
Y 1<<5
Z 1<<6


もちろん こうやれば

rigidbody.constraints = 1 << 4 | 1 << 5 | 1 << 6;

rotationのXYZにチェックが入る。

しかも不思議なことに.value_はつけてもつけなくても機能する。

.value_さんは何のためにあるのだろうか。謎は深まるばかりである。
ちょっと前にmacbook airを買ったけどもちょうどその時期にメンバーセンターが大幅なアップデート?
セキュリティーの改善?
かなんかでdevelop登録が出来なく、iphoneアプリの開発が大幅に遅れてしまった。
それに加え、その他もろもろの手続きなどが本当にめんどくさい!
あっぽぉさんはもう少しその辺簡単にしてくれないもんかね・・・
なんどやる気を削がれたことか・・・

-閑話休題
まぁいろいろあってようやくiphoneアプリの開発に取り組め、
出来上がったモノに広告をつけようと思い、色々探した結果
iadを使おう
と思った。

んで、コレがかなり厄介。
何が厄介って、「iadは簡単に実装できますよ^^」って触れ込みで溢れてる割には
広告がちゃんと表示されないとアプリの審査時に落とされるッぽい。

(iadはたまに広告バナーにちゃんと広告が表示されず真っ白なバナーになることが有るのだ・・・)
もちろんそれにはリスナーっぽいのあって、そこでちゃんと表示されなかった場合に広告を非表示にする処理を
加えればいいのだが、、、
unityではソコの扱いがどうもダメ!!

unity自体にiadを表示させるメソッドなり何なりがあるにも関わらず、
肝心の広告が表示されなかった時のリスナーっぽいのがないのだよ!!!
なんじゃこら!ふざけんな!!
なんで広告表示されなかったらリジェクト対象になるってわかってんだろうに
そのための処理がねぇんだよ!
表示させるためのメソッドだけ有ってもしょうがないやんけ!!

・・・てなぁ具合になってしまった。
え~皆どうしてん?自前で実装してるのか?
プラグイン化なんか作ってネイティブコードでのやり取りをしてるのか?
も~やんなっちゃうよ!!

それでこうなったらadmob使っちゃうもんね!
ってことでadmob入れるサンプル探してたら、あるわあるわで広告を入れること自体はできた。
そう、できたんじゃよ・・・

しかしココにも罠があったんじゃあああああああああああああ!!!!!!
なんとポートレート状態なら構わないけど
横にしても、広告の向きが変わらないんじゃあああああああばばばばっばああああ^p^
もうてぇへんだ!
unityでios広告入れるのてぇへんだ!!てぇへんだ!!

で結局は
unityで吐き出したxcodeのプロジェクトの中身に直接admobを入れ、
その中で広告の向きをいじってやって横向きのアプリに対応させることが出来た。
ふぇ~長かったわい・・・


明日はその状態で、アプリの動作確認とシーン遷移で広告が変化しないか確認しよう。
もう何事もなくスムーズにアプリ登録までこぎつけたいぜ。
今回GUIを作成する中で
Duplicateした要素にタグをつけてコードの中から
ソレらを取得した。
そんな可起きた事件である。

【問題】
タググループを取得して、コード内でGUIの表示を行う(テキスト)
そのなかで順序どおりに表示されなかった

ex.
text1
text2
text3...etc

としたいのが
text3
text7
text1...etc
となる

【解決】
gameobjectをFind(""+変数)の形でキャッシュして操作してやることで
狙い通りの動きを実現。

【詳細】
今回起こった問題はタググループ取得時に配列がどのように割り振られているかを
上手く認識できていなかったため起きたのだと思われる。

text1をDuplicateしてtext2を作る。
これらにタグをつけてやりコードにてfindWithTagを用いて配列として取得する。
このときx[0]番目にtext1が入るのかtext2が入るのか上手く認識できていなかった。
結果複数DuplicateしたObjectをコード内で操作したときに、上記のような問題が起きた。

なのでx[]をfor文でループさせてやりfind("text"+i)と言う形でキャッシュして
順序どおりの配列を得た。

こんなんに時間をとられてしまったぜ。・・・やれやれだな。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。