2014年9月29日月曜日

LWFフレームワークをcocos2d-x v3.2に組み込む(iOS版)

LWFを既存のアプリプロジェクトに組み込んでみたので、その導入方法を書き残しておきます。

テスト環境
  • Mac OS X 10.9.5
  • Xcode 5.1.1
  • cocos2d-x v3.2

Automatorのシェルスクリプトの実行で、rvmでインストールしたRubyを使用する

Ruby環境をrvmで構築するようにしてから、いくつかのAutomatorで作成したフォルダアクションが動かなくなってしまいました。

動かなくなったフォルダアクションにはRubyスクリプトを含ませていましたが、AutomatorではシステムインストールされているRubyを使おうとするので、いろいろ不具合を引き起こしていたようです。

2014年9月26日金曜日

LWFのサンプルデモをAndroid(実機)で動かす

昨日からLWFというフレームワークを試してます。
LWFはGREEが開発しているオープンソースのフレームワークで、Flash CSをオーサリングツールとして利用して、2Dアニメーションのシーンを生成することができます。

現在では、Unity、cocos2d-x、HTML5などでデータを利用できるようです。

ちょっと触ってみた感じでは、LWFはゲームキャラクターを制御する目的のものではなく、シーン全体(例えばデモ、動きのある演出など)を構築するのに適しているように思いました。

導入方法などについては、以下のサイトで分かるかと思います。

GitHubにcocos2d-x用のサンプルプロジェクト Hello-LWF-Cocos2d-x があるので試してみたのですが、案の定、Android(実機)で実行できなかったので、修正点を書き残しておきます。

2014年9月23日火曜日

cocos2d-xのrunActionメソッドを使って遅延実行処理を簡潔に書く

cocos2d-xで一定時間後に何か処理を行わせたい時、方法はいろいろあると思いますが、簡単な方法として、NodeクラスのrunActionメソッドとラムダ式を使えば簡単に記述できました。

テスト環境
  • Mac OS X 10.9.5
  • cocos2d-x v3.2

2014年9月12日金曜日

Windows 8.1 矢印の消し方

毎度忘れて困ってしまうのでメモ。

Windows 8.1を使っていて鬱陶しいのが、画面左や右に出てくるでかい矢印です。
「スワイプしてなんとかかんとか〜」ってメッセージが出るものの、マウスでスワイプっぽいアクションをしても消えてくれません。

こういう時、UIってなんだろう…って本気で考えてしまいます。

とにもかくにも消すにはこれ↓↓↓

マウスカーソルを画面左上に移動して、デスクトップの縮小サムネイルが表示されたら、クリックせずにマウスを下に動かすと消えてくれます。

関連記事

2014年9月7日日曜日

cocos2d-x v3系のLayerタッチイベント登録方法

cocos2d-x v3系でLayerのタッチイベントを設定するのは、旧来(v2系)の方法も残っているようですが、今後はEventDispatcherを使って設定するのが推奨されています。

1つのタッチ毎にイベントが飛んでくる方式(TouchOneByOne)の場合ですと、Layerサブクラスのinit()メソッドなどの中で、以下のような設定をします。GameSceneというのは自分で作ったLayerサブクラスの名前です。
// レイヤータッチイベント登録
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = std::bind(&GameScene::onTouchBegan, this, std::placeholders::_1, std::placeholders::_2);
listener->onTouchEnded = std::bind(&GameScene::onTouchEnded, this, std::placeholders::_1, std::placeholders::_2);
listener->onTouchMoved = std::bind(&GameScene::onTouchMoved, this, std::placeholders::_1, std::placeholders::_2);
listener->onTouchCancelled = std::bind(&GameScene::onTouchCancelled, this, std::placeholders::_1, std::placeholders::_2);
    
getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);

Related Posts Plugin for WordPress, Blogger...