リンク
とp

2012年08月19日

その3、 iphoneアプリ開発、 2012年8月12日から8月19日までの作業内容,アイフォンアプリ開発のエラーのときの対応記録、履歴、メモNSTimerのときの注意点、動かないとき

その3、 iphoneアプリ開発、 2012年8月12日から8月19日までの作業内容


■アイフォンアプリ開発のエラーのときの対応記録、履歴、メモ

テンプレートで作成するときにレティナ対応にしない場合
は、コメントにします。
120818-0001_retina.png

1.NSTimerのときの注意点、動かないとき
2.cocos2dココス2DのCCSpriteFrameとCCAnimationは、正しく設定しないと、描画速度の低下を招く。



・エラー、バグの経緯
iPhoneアプリをiPhone実機で確認中に色々とバグが出ました。




エラー1
一つは時間制限60秒としたときに、60秒経過すると画面が固まってしまいました。
 なにをしたいのかというと、
60秒を経過すると、別のシーン(Bシーン)に切り替わり、別のシーン(Bシーン)からゲームシーン(Aシーン)に戻ります。
そして、また、60秒を経過すると
別のシーン(Bシーン)に切り替わりというものです。つまり、A,B,A,B、、、を繰り返します。


画像




 時間制限において、判定のための閾値をある値よりも上であれば処理をするというようにしていました。


この点についてタイマーによって、加算しています。
 判定を><にて設定しています。これが原因でした。
if(a>60)
イコール=判定if(a==60+1)によって何度も読み込みが発生していたのが防げる事となって改善されたようです。
つまり、><にて設定していたので、制限時間の値を越えるとなんども同じ処理を繰り返していたのが原因でした。
 プログラムを組んだときは、シーンが切り替われば、条件判定は無視されると思いました。
 しかし、NSTImerが正しく設定されていないこともあって、何度も条件判定が実行されることとなり、期待した動きになりませんでした。



また、タイマーについてはタイマーが正常に停止,
終了してなかったようでしたのでタイマー部分についてinvalidateを入れるようにしました。
ここで、現在のバージョンではXcode 4.4はreleaseリリースを入れるとクラッシュします。


時間制限については時間制限を越えると他のシーンを読み込います。ここで、他のシーンを読むときに何度も何度も連続して呼び込むために画面の整理が行われなかったようです。この点についてはタイマーの設定が介護増すごとに同じタイマーが働きつつ動くのでタイマーのカウントについても原因がありました。

120819-0001_NSTimer_invalidate.png


つまり、5回シーンを切り替えると、5回分のタイマーが動作して、時間が5倍速(たぶん)になります。
そのため、カウントダウンを表示させていると5倍速で、時間表示がカウントダウンします。
本来の期待した動きは、1秒ごとに数字が1つ減っていきます。






エラー2


2つめは、ゲームで遊んでいるとフレーム数がゲーム中に徐々に低下しました。はじめは60フレーム、30フレーム、10フレームとなり、徐々にかくかくな動きとなりました。




次にスプライトアニメつまり、cocos2dココス2DのCCSpriteFrameとCCAnimationを使っていた部分をコメントにしました。
現在、

CCSpriteFrameとCCAnimationを使っていた部分はそのまま保留となっています。

コメントにしてあります。
120819-0002_now_comment_CCAnime.png


現在検討中です。




posted by goodman at 17:45| Comment(0) | アイフォンiPhoneアプリ開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。