スキップしてメイン コンテンツに移動

投稿

8月, 2014の投稿を表示しています

TMX のタイルの隙間対策、連続移動のかくつきの対策

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 で設定したカリー化した関数オブジェクトもアクションと同じように覚えておき、新しい移動をする前にすぐに実行するようにした。 移動がスムーズにできるようになってきもちいい(*´ω`*)  

MazeChat 開発中

jsonId から1ヶ月たちました。 このままフェードアウトしそうなので、今月のうちに近況報告をしようと思います。   少しずつですが jsonId を作るきっかけになったゲーム制作を続行していました。 今はやりの タブレット などにも対応している フレームワーク cocos2d を勉強しながら作っています。   jsonId に関して思い出すと、 以前に言われたことのある「実現したいことは何か?」という言葉を思い出します。 手段が目的になり、よもや手段以上のあいまいな機能を作ろうとして座礁する。 それを繰り返さないために、実際に使うのかを常に考え、もっと簡単に実現できないかということを複雑になりはじめたら自問するようにしました。 それでも、すごいモジュール思いついたwwwという甘い妄想に飲み込まれそうになることが今までどおりありましたが、それでも1日進まなかったら他の手段を考えるようにすることにしました。   そもそも jsonId は TMX というタイルマップで、オブジェクトを参照するための 拡張機能 として作りました。 しかし、そもそもそこまでする必要はないということに気づき jsonId はあまりブラッシュアップしないまま アルファ版のままで終わりそうです。   今は、そもそも作りたいと思っていた登録なしで気軽にアクセスできるRPGのような仮想世界を作っています。 キャラクターとマップチップの画像はフリー素材を公開してくださっている「ぴぽや」さんの画像を使っています。 フレームワーク は cocos2d-js 3.0 rc1 です。 プレイヤーキャラクターの移動、それに伴うスクロール、マップ切り替えができています。 画像だけではわかりませんが、音楽もマップごとに再生されます。 音楽はフリー素材を公開してくださっている「魔王魂」さんの BGM を使っています。 フリー素材のおかげで、絵も音楽もさっぱりな私でもなんとかここまで形にすることができました。感謝です。   あまり、がちゃがちゃと機能をつけず、シンプルでとっつきやすいインターフェースを心がけようと思います。 チャットをしない人でも仮想世界をぶらついて楽しめるようなゲーム性をもっと出そうとは思います。 とりあえずは、移動のかくつきの解消、マップのちらつきの解消、 NPC の会話処理の実装をしたいと思っ