「Lua」カテゴリーアーカイブ

Moai SDK でゲームを作ろう(Linux 上でサンプルを動作させる)

Moai SDK はホスト環境でも動くようなので、まずは Linux(Ubuntu) で動作させようと思う。

下記のリンクに手順が書いてあるけど、要は普通にビルドすれば良いらしい。
http://franciscotufro.com/2013/01/compiling-moai-on-linux/

私の場合、以下のコマンドでビルドできた。

apt-get install libxmu-dev
git clone git://github.com/moai/moai-dev.git
cd moai-dev/
git checkout linux
cd cmake
cmake .
make

そして、動作確認としてサンプルの anim-basic を動作させた。

cd moai-dev/samples/anim/anim-basic
../../../cmake/moai/moai main.lua

moai_2013_1231_anim-basic

サンプルの実行方法は、実行したいサンプルのディレクトリに移動して、moai の実行バイナリに main.lua を渡せばよい。

次は Android の実機でサンプルが動作するのを目指したい。

Moai SDK でゲームを作ろう (調査してみてわかったこと)

Android 向けのゲームを作るにあたり、いろいろ調べた結果 Moai SDK っていうのが良さそうに思った。

  • Android, iOS, Chrome 用の 2D ゲーム向けのフレームワーク
  • C++ でクラス作って Lua で操作するような作りになっている
  • オープンソース(ライセンスはゆるめの CPAL)

で、Kindle で Moai SDK の書籍(英語)も買って読んで「いいなー♪」とか思っていたが…、もう少し調べたいたところ大変なことがわかった。

「Moai SDK っていうプロジェクトは、もう息してない…」

下記のリンク先が詳しい内容だけど、要約するとメインの開発者が「もうええわ!」って感じで更新しない宣言をしたらしい。確かに github 上のソースも数ヶ月くらい更新ないし…。

http://getmoai.com/forums/thoughts-on-the-future-of-moai-sdk-t2012/

ただ、使うにあたっては起動ロゴに2秒以上 Moai SDK のロゴを表示するか、クレジットに表示するか、っていう要求のゆるさが気に入っているし、何より自分でフレームワークを作るよりは良いだろう、という判断のもとに Moai SDK を使ってゲームを作ってみようと思う。

次回は、実際に Moai SDK をセットアップして Linux 上や Android 上で画像でも表示するプログラムを作ってみたい。めげずに頑張る!

「赤城さんのお風呂タイマー」用のテーマを作ってみよう!

「赤城さんのお風呂タイマー」のテーマとは

「赤城さんのお風呂タイマー」用のテーマの作成方法の紹介です。テーマとはツールにキャラクター等の画像を配置する仕組みで、このツール専用の「伺か」のようなものです。

zunko_setup_screenshot

 

テーマを作ってみる

  1. まず、これがテーマを作るために今回用意したサンプルファイルです: sample_theme
  2. このファイルを展開したフォルダを bath_timer-0.1.6\theme\ に配置します。
  3. bath_timer-0.1.6\theme\sample_theme\build.bat を実行します。
  4. bath_timer-0.1.6\theme\sample_theme.dat ができていれば成功です。
  5. ツールを起動し直すとテーマ一覧に Sample Theme が追加されます。

sample_theme_list

テーマを構成するファイルと役割

ここまででテーマが作成できました。 次は、このテーマを変更できるようにするために、構成するファイルの内容を説明します。

?README.txt
「テーマについて」 の前半に表示されるメッセージです。

COPYING.txt
「テーマについて」 の後半に表示されるメッセージです。

logo.pngテーマ一覧に表示される画像です。

resource.yaml
アニメーションなどの定義を行っている YAML ファイルです。
Image: Background … テーマの最も後ろに表示される画像のファイル名です。
Image: Parts … 表示する画像のファイル名と表示位置を定義しています。Cell: … アニメーションのセルに相当します。重ねて表示する画像を定義します。
Pattern: … セルと表示ミリ秒の組み合わせでアニメーションを定義します。

events.lua
ツールが操作されたときに呼び出される関数が記述された Lua スクリプトです。
例えば、ツールがクリックされたときの処理は
function single_clicked(theme)
theme:set_pattern(“normal”)
end
となっており、normal のアニメーションの開始を指示しています。

最後に

ちゃんとしたテーマエディタを作ろうとしたのですが、紹介だけになってしまいました…。
わからないことや希望があればコメントを下さい。なんとかします。