Skip to content

cor_engint_tutorial_20141118

dycoon edited this page Nov 18, 2014 · 2 revisions

cor-engine turorial (2014/11/18 version)

https://github.com/rmake/cor-engine/releases/tag/release20141111

から、 sprite_one.zip と majitai_running.zip をダウンロード

  • sprite_one.zip : cocos2d-x の mrubybinding の一番簡単な使用例。スプライトを一つだけ作っています。
  • majitai_running.zip : 簡単なゲームの例

処理はstart.rbから始まります。
それぞれのファイルの内容を簡単に見てみてください。

感じがわかったら sprite_one の方を色々拡張してみると感じがつかみやすいかもしれません。

cocos2d-x を使う例はこちらの
https://github.com/rmake/cor-engine
projects/cocos2dx_simples
にいろいろ有りますので参考にしてみてください。

cocos2d-x の API を使うにあたって

cocos2d::Sprite などcocos2d-xのクラスはそのままmruby側でも同じ名前で使えます。
ただ、mruby binding generatorが完全でないこともあって、全てではありません。
mruby側では現状 cocos2d:: という感じのネームスペースは省略できます。

メンバ変数およびメンバ関数は、 camel case (createWithTexture みたいな感じ) から snake case (create_with_texture みたいな感じ)に名前が変更されます。 クラスは使用できてもメンバの中には使用できないものもあります。

cocos2d-x の API の機能については C++ のものを参照してください。 http://www.cocos2d-x.org/reference/native-cpp/V3.2/index.html だいたいは同じ感じで使えるかと思います。

現状、定数やenumなど変換できていないものなどもあります。 それらを使う場合は直接値を指定してください。 そのほか、デフォルト引数など幾つか未対応のものがります。

デバッグ用の出力

mrubyコード中で

Logger.debug "Hello, World."

などとするとログに"Hello, World."と出力されます。
現在ログは標準出力に出ていますので、
以下の内容のコマンドを打つか、

cor_lib_test_main.exe > out.log

上の内容をテキストファイルに書いて、debug.batというなまえにして
エクスプローラー上でダブルクリックするれば、
out.log というファイルに"Hello, World."と出力されます。
debug.bat はバッチファイルですので、拡張子が bat でさえあれば自由な名前で構いません。

いろいろなrubyのコードを書いてみて実験してみるのもいいかもしれません。

a = 1 + 1
Logger.debug "ans = #{a}"
a = 1 + 1
Logger.debug a.to_s
a = [1, 2, 3]
Logger.debug a