昨日、出勤直前まで悩んでた事象があります。
動作
batchnodeにCCSpriteで画像を貼る処理を書きました。
しかも画像を変えただけで、別個に同じ処理が存在しておりました。
なので基本的には、画像の名前以外ほぼ一緒の処理のはずでした。
しかし頭から漏れてた部分として
この画像は、「画面がスクロールして表示されてくるものである」
(って感じで見えるもの)
つまり初期配置は、画面の外で
そこから移動してくるのです。
太文字にしてるのでわかると思うのですが、
完全にこの移動の処理が抜け落ちてまして、
別の画像はちゃんとスクロールされてくるのに
この新規に追加した画像だけなぜかスクロールされてこなかったのです!!!
(あたりまえw)
もちろん、Google先生で同じような事象がないか、めちゃくちゃ検索しました。
もちろん、そんなマヌケなことをブログで発表する人間はいないわけで
(ここにはいるのですがね!!!)
■原因と対策
自分が思うに新規に処理を追加していく場合と、
既存の処理にちょっと付け加える場合の心づもりが違うのがいけない。
新規の場合は、「これと、あれと、あとこうだったらいいな」と一つずつ考えて
そしてそもそも「ない」ことが当たり前で
プロジェクトのなかに自分が新規に作りだしてる感覚があります。
しかし、既存のソースのコピーの場合、「こっちの処理はあるかもしれない」
という前提で考えていたので、思考が停止していたのかも。
今後は、既存のソースで処理を追加する場合も、
一つずつ処理の内容を考えながら書く。
また、私がつけているコメントが貧弱であること。
それってコメントの意味なしてないだろと
今後は関連のある処理はなんかつけようと思う。
こういうのは生きたというか、ちゃんと現場とかで使われてるコードを
見れば勉強になるのだろうけど、環境に文句を言っても始まらないので
自分なりに考えてみる。
改善改善。
@tomo_tsuru 関数を綺麗に分けていくと”関数名”で中身が分かるようになります。そういう関数を組み合わせて処理を書いていくとほとんどコメントが要らなくなりますよ(^O^)
コメントの要らないソースが理想かなって思ってます。なかなかそうはいかないですけどね(;∀;)
【漏れを防止する方法を考える】アプリ開発日記(12/11)【cocos2d】 http://t.co/miX4uwDc9t