MOAIフレームワークの簡単な紹介

ビジネスアプリケーションに関しては、一般的なモバイルプラットフォームごとに複数のコピーを作成するのが一般的です。 Android / iOS /などのプラットフォームは非常に具体的であるため、「コードを一度に-どこでも実行」の原則に基づいて実装するのはかなり難しいため、これは非常に正当化されます。 ただし、モバイルゲームの場合は状況がまったく異なります。 通常、ゲームには独自のスタイルのグラフィック要素(ボタン、メニューなど)があり、すべてのグラフィックはスプライトまたは3Dで構築されます(注-将来は2Dエンジンについてのみ説明します)。 アプリケーションを一度書いて、異なるプラットフォーム用にアセンブルしたいという完全に自然な欲求があります。

クロスプラットフォームのMOAIフレームワークは、これを達成するのに役立ちます。







まず、なぜMOAIなのか? このフレームワークは意図的に選択されています。 私自身は、次のエンジンが必要だと判断しました。





以前、フレームワークを選択するまで、私はまだLua用にプログラミングしていませんでしたが、選択はパラメーターに完全に適合するため、とにかく落ちました-メモリをほとんど消費せず、ガベージコレクションを持ち、大規模なアプリケーションと素晴らしく統合します。 彼の研究中、ルアは彼の期待に完全に応えていたので、選択は非常に成功したと言える。



フレームワークの候補の中では、Corona SDK、Gideros、Cocos2d-X(はい、Luaでスクリプトを作成することは可能です)、MOAIを検討しました。

Corona SDKとGiderosを比較する場合、私の意見では、Giderosの方が望ましいと言えます。 なぜなら シンプルなIDEを含むさまざまなツールがパッケージに含まれており、プラグインを作成できます。また、無料モードは、スプラッシュスクリーンgiderosの存在によってのみ有料モードと異なります。 クラウンは、フリーモードでは、アセンブリにタイムアウトを設定しますが(エミュレータではなく)、さらに、起動後、クラウンを購入する必要があるというダイアログが表示され、ダイアログは表示されません。 プラグインは、Corona Enterpriseの購入後にのみ作成できます。CoronaEnterpriseの価格はまったく示されていません。 UPD:ユーザーLergが私に書いたように、最近彼らの製品は少し変更されました: habrahabr.ru/post/175689しかし、それにもかかわらず、いくつかのパラメーターによると、コロナはより良いです-より大きなコミュニティを持ち、エンジン自体がより最適化されます(スプライトの読み込みなど) .p。)。



Cocos2d-XとMOAIのどちらかを選択して、後者を選択しました。 元々はLuaのエンジンとして開発されました。



設置



ここでgithub.com/moai/moai-devまたはさらに良いことにforkをクローンします。

エンジンの変更に興味がない場合は、おそらくGiderosを試してください。バイナリアセンブリをインストールすることはお勧めしません。

次に、Xcodeプロジェクトmoai-sdk / xcode / osx / MoaiSample.xcodeprojでプロジェクトを開き、moaiバイナリをコンパイルします。

注意してください、MOAIのデスクトップバージョンはWindowsとLinuxで利用可能です! ただし、もちろん、ケシの下でのみiOSプロジェクトをビルドできます。



moaiをインストールした後、例を実行してみてください。

ディレクトリ/ usr / local / moai-sdk / samples / hello-moaiに移動して例を実行します

moai main.lua





この時点で、AndroidまたはiOS用に開発したプログラマーは、サンプルの実行方法を楽しんでください。 すぐに始まります! コンパイル、再パッケージングなどが必要ありません。 私は例を起動し、すぐに結果を見ました。 正直なところ、それは価値があります!



Android



AndroidまたはiOSでアプリケーションを実行するには、適切なアセンブリを作成する必要があります。 Androidの場合、すべてが非常に簡単に行われます-moai-sdk / ant / make-host.shスクリプトを使用して、基本Androidプロジェクトを作成し、追加のオプションをスクリプトに指定できます。

基本プロジェクトは、Moaiライブラリを含むAndroidアプリケーションのソースコード、およびプログラムに必要な最終* .apk luaファイル、グラフィックス、およびその他のファイルをパッケージ化するためのスクリプトです。



受信したunkown-hostを目的の場所(私にとっては〜/ Projectsディレクトリ)にコピーし、settings-local.shでAndroid SDKへのパスを指定します。

android_sdk_root="/usr/local/android-sdk"





そして、Luaのメインプロジェクトが存在する方法

src_dirs=( "/Users/alex/Projects/myproject" )







ここで、Androidでアプリケーションを実行するには、スクリプトrun-host.shを実行します

コレクターは非常にシンプルであることに留意する必要があります。Androidアプリケーションのソースコードを取得し、MOAIプロジェクトをコピーしてapkをコンパイルするだけです。 つまり アプリケーションで加速度計のサポートを有効にする必要がある場合は、ベースプロジェクトのソースコードでMainActivity.javaを明示的に編集する必要があります。



iOS



iOSでは、ほぼ同じメカニズムがありますが、新しいホストを作成するための便利なスクリプトはありません。 サンプルプロジェクトをコピーして変更することをお勧めします。

原則として、これは難しいことではありませんが、個人的には、Xcodeでグラフィックプロジェクトの設定を選択する必要があるとき、私はむしろ快適ではありません。

注意-リポジトリからの新鮮なMOAIソース(驚くことではない)にバグが含まれている可能性があるため、プロジェクトを組み立てることができない場合は、試してください。 (https://github.com/Nepherhotep/moai-dev)、これはめったに更新されないため、より安定しています。



さらなる開発は次のとおりです-動作中のマシンでコードを記述してテストし、バージョンのリリース前にAndroid / iOSのアセンブリを実行します。



役に立つ



getmoai.com - MOAI公式ウェブサイト

github.com/moai/moai-dev-githubのソースコード

github.com/ymobe/rapanui/tree/master/rapanui-sdkは、 MOAIを使用した高レベルのフレームワークです

github.com/derickd/moaigui-MOAIのウィジェットライブラリ

github.com/Nepherhotep/terevakaは、 MOAI用のもう1つの高レベルフレームワークであり、自家製とグッズ付きです。 続きを読む私の記事habrahabr.ru/post/176771



All Articles