↑の和訳とかしてみたページ。 手早くCoronaSDKを紹介しましょう。細かい部分は省いて、重要な点のみに注目していきます。完全さ、綿密さは求めません。それよりも、カッコ良くて、使いやすくて、魅力的なアプリを作るためのポイントをできるだけ早く抑えてほしいのです。 本記事では基礎として変数や関数について取扱いますが、どんなことができるかを何となくでも掴んでもらうために、アニメーションやインタラクティブな動作についても触れています。なお、本記事はチュートリアルですので、どの機能についても完璧な説明を得られないことについて留意しておいてください。 私たちの目的は、複数の読者を相手にできることです。経験豊富なプログラマーであればこの記事の情報から想像を膨らませ、自分のニーズを満たすことができるでしょう。初心者であればこの記事を、シンプルで小さなアプリを初めて書くための出発点にすることができるでしょう。
HelloWorldCorona SDKの使い方を覚えるための一番の(そして唯一の)方法は実際にアプリを書いてみることです。Luaという言語でプログラムを書きます。慣例に従って、まずは「Hello World」を表示するプログラムを書いてみましょう。 さあ、始めましょう。まずはプログラムを書くためのエディタが必要ですね。あとでそのファイルをどこかのフォルダに入れて、Corona Simulatorで実行したり結果を見たりすることになるでしょう。 テキストエディタに次のコードを入力してください。 print("Hello World")このファイルに このプログラムを実行するには、まずCorona Simulatorを起動します。Corona SDK関連のファイルは全て/Application/Coronaに入っています。(Corona SDKのインストール方法についてはGetting Started Guideを参照してください) SDKの中身は上の画像のようになっているはずです。Corona Terminalのアイコン(丸で囲まれています)をダブルクリックしましょう。 ターミナルとCorona Simulatorが立ち上がったら、メニューバーのFile→Open...から、先程作った また、右側の画像のように、実際の電話機のような形をしたシミュレータが何も表示されない状態で現れていると思います。この場合は、画面には何も表示されないままです。これは、プログラムに「ターミナルに出力する命令」だけを書いたからです。 プログラム内で何が起きているか説明します。アプリは 先程のプログラムでは Simulator vs Terminal何故「Hello World」はターミナルだけに出力し、シミュレータに出力しなかったのでしょうか。それは、 Hello World on the Simulatorシミュレータの画面に何か表示するには、Coronaのグラフィクスライブラリが提供する関数を使う必要があります。ライブラリとは便利さと機能性をユーザーへ提供する関数の集まりです。「Hello World」をシミュレータ内で表示するには、以下の2行を記述してください。 local textObject = display.newText( "Hello World!", 50, 50, native.systemFont, 24 )textObject:setTextColor( 255,255,255 )何が起こっているのか説明します。
Rapid PrototypingCorona SDKが持つ最も強力な特徴の1つに、素早い変更を行ってそれを確認するのが容易であることが挙げられます。 さて、main.luaファイルをエディタで開いたら、setTextColorの引数を変更してください。以下は一例です。 local textObject = display.newText( "Hello World!", 50, 50, native.systemFont, 24 )textObject:setTextColor( 255,0,0 )引数の変更が終わったら、ファイルを保存し、シミュレータに戻ってください。FileメニューからRelaunchを選択します。ショートカットキーの⌘R(command-R)を利用しても構いません(訳註:WindowsではCtrl-R)。これにより、シミュレータを再起動することなく アプリを開発する上で、こういった作業は非常に多く発生するはずです。シミュレータにアプリを読み込み、main.luaを少し編集して、シミュレータに戻ってRelaunchして、コードの動作を確認する。こうして編集と動作確認をとても簡単に行うことができるおかげで、従来のように、シミュレータの終了と再起動によってトラブルが起きたり時間を浪費したりする状況を回避できるのです。 Basic Interactivityさて、今度はテキストの色をランダムに変えることができるボタンを作って、アプリにインタラクティビティ(双方向性)を加えてみましょう。まずはこれまで作ってきた「Hello World」プロジェクトの local button = display.newImage( "button.png" )button.x = display.contentWidth / 2button.y = display.contentHeight - 50(訳註:事前にサンプルフォルダからbutton.pngをコピーし、main.luaと同じフォルダーに置いてください。) このコードはbutton.pngという名前の画像を読み込み、画面下部の中央に配置する命令を表しています。先程までとはまた別の 画像オブジェクトは自身に変更を加えるためのプロパティを初めから持っています。その中には、画面の上端・左端から画像の中央までの距離を指定するx, yといったプロパティも含まれています。 画面の下端の座標を得るためには、displayのプロパティを上手く使います。 ただの画像をボタンにするためには、イベントに反応するような仕組みを作る必要があります。イベントには幾つかの種類がありますが、今回の例では画像が「タップ(tap)」イベント(パソコンでいうクリック)に対応するようにします。以下のコードを function button:tap( event ) それでは、どのように動作が実現されているのか見ていきましょう。上記のコードは2つの部分に分かれています。1つ目は画像オブジェクト変数・buttonに対するオブジェクトリスナーを定義しています。オブジェクトリスナー(テーブルリスナーと呼ばれることも多いです)は、対象とするイベントの名前と同名のオブジェクトメソッドです。オブジェクトリスナーはとある作法に従って記述するオブジェクトメソッドであるとも言えます。今回の例ではメソッド名は「tap」になるわけです。また、オブジェクトメソッドを記述しているので、この定義にはコロンが現れています。 2つ目は、オブジェクトリスナーが「tap」イベントを受け取れるように登録する部分です。ありがたいことに、画像オブジェクトである ユーザーが画像をタップすると、システムは登録されたオブジェクトリスナーを見に行きます。オブジェクトの中に 最終的なコードはサンプルの「HelloWorld2」フォルダに入っています。 Animation and Soundそれでは次は、テキストを動かしてみたり、ボタンをタップするたびに音が出るようにしてみましょう。HelloWorld2プロジェクトを元にして進めていきます。まずはmain.luaの末尾に以下のようなコードを加えましょう。テキストオブジェクトを縦方向に100ピクセル下げる命令です。 transition.to( textObject, { time=1000, y=textObject.y+100 } ) ここで使った 音を出すようにするには、 function button:tap( event ) local r = math.random( 0, 255 ) local g = math.random( 0, 255 ) local b = math.random( 0, 255 ) textObject:setTextColor( r, g, b ) media.playEventSound( "beep.caf" ) end button:addEventListener( "tap", button ) (訳註:事前にサンプルフォルダからbeep.cafをコピーし、main.luaと同じフォルダーに置いてください。) マルチメディア系の動作をサポートしている You're All SetこれでCoronaのクイックツアーはおしまいですが、もっと色んなことを探求してみてください。例えば奇抜なユーザー操作を実現するために加速度センサーを使ってみたり、位置を使った機能を取り入れるためにGPS情報を取得したり、データベースにデータを保存したり。まだまだ色々あります。 願わくば、あなたがこのチュートリアルを通して、Coronaが如何にクールなアプリやゲームを作る上で手軽な手段かということで味を占めてくれていればと思います。もしもっと学びたいことがあれば、Overviewのページへ進み、情報を得てください。 また、もし書籍によって知識を深めたい場合は、Lua書籍のリストがありますので、オンラインや近所の書店から購入してください。 更新履歴2011/04/10 作成 2011/05/11 公式解説書へのリンクを追加 |



