Siv3DRubyというのを作っている その2
Siv3Dの下回りのクラスをmrubyにバインドしていく。なんか動きはじめた。Win+Gでアプリケーションの動画を簡単に取れるのが大変便利。そしてそのままTwitterに貼り付けられるのも素晴らしい。
Siv3Dの円が動き始めた ソースコード https://t.co/CeH54SHyaY pic.twitter.com/afiR3crKRI
— おんがえし (@ongaeshi) 2017年5月3日
マウス座標が取れるようになった、コードはこちら https://t.co/bWhVktZzrc #siv3d pic.twitter.com/Iz7GYAPxXH
— おんがえし (@ongaeshi) 2017年5月3日
mrubyでC++のクラスを組み込むときのコーディング規約
ofrubyとRubyPicoのいいとこどりみたいな書き方で書いている。コーディング規約、最初はシンプルにmrubyの標準ライブラリ的な書き方で書こうとしていたのだけどC++のクラスをmrubyに組み込むと各C++クラス間でもmrubyとC++への相互変換が頻発するようになりそのたびにmrb_siv3d_point_to_cpp(mrb, obj)
みたいに長い関数を毎回呼ぶのが辛くなってきた。
siv3d自体がC++11/14の先進的なC++の書き方を積極的に使っている印象なので、組み込み用のコードもガンガンC++で書くことに舵を切りなおす。
↑今はこんな感じで書いている、ToMrb(), ToCpp() とか無名名前空間を使って関数名を短くしたりできたので結構気に入っているがどうだろうか。
C++のライブラリをmrubyに組み込んでいる人はどうやって書いているのだろうか。