TMXTiledMap のタイル間の隙間については setProjection で 3D を 2D に変更するらしい。
ver2.2.2 のとは
cc.Director.getInstance().setProjection(cc.DIRECTOR_PROJECTION_2D);
だったが、 ver3.0 では
cc.director.setProjection(cc.Director.PROJECTION_2D);
とする。関数が API リファレンスに見当たらず core/CCDirector.js を見てやってみた。
それでもまだ隙間があるが、対策前よりは隙間が少なくなった。
他の原因で隙間がまだ残っているようだ。 TMXTiledMap の位置を小数値から整数値にすることもネットに書いてあったので試したが、他の原因があるようでまだ隙間が残っている。
これについては保留する。この切り替えができるようになったのが最近の進歩だと思う。
連続移動のときにキャラクターが前後にかくつくことと、それにともない追跡してスクロールする画面が前後にぶれる対策を行った。
原因は sprite を MoveTo アクションで移動させるときに、さらに移動が発生した場合に、以前の MoveTo アクションを停止しないで新しい MoveTo アクションを行ったためだった。
そこで、以前のアクションを覚えておき、それを停止する処理を追加した。
また、アクション完了後に位置を設定するため scheduler で設定したカリー化した関数オブジェクトもアクションと同じように覚えておき、新しい移動をする前にすぐに実行するようにした。
移動がスムーズにできるようになってきもちいい(*´ω`*)
コメント
コメントを投稿