Corona Tutorial #1〜#2

では、そろそろまじめにCoronaの勉強とか進めてみましょうか。
http://www.learningcorona.com/
こちらで紹介されているAnsca Video Tutorialsのビデオを見ながらちまちまとやっていきます。


◆ Corona Tutorial #1 - Start to finish - Hello World

英語分かりませんので、フィーリングで内容を紹介していきます。
以下のようにコードを打ち込みます。

local text = display.newText("Hello World!", 50, 50, nil, 26)
text:setTextColor(255,255,255)

display.newTextでは以下のようなパラメータを設定します。

display.newText( string, x, y, font, size)

デフォルトのフォントを利用する場合、fontには「nil」を指定します。
iPhoneアプリ開発だと馴染みが深い単語ですが、nilはNULLなどと同じ
空を意味する単語になります。


setTextColorではRGBで表示色を設定します。
ここでは「白」を指定するため、全て255を指定します。
このコードを「main.lua」の形で保存し、Corona Simulatorから開くことで
Hello World! が表示されます。


ちなみに、Macになれていない私はこのファイル名を入力するエリアの
横にある「▼」ボタンを押すことで、階層の深いところを指定して
ファイルが保存出来る、ということに全然気づきませんでした。目から鱗
(なんだかんだで、仕事でMac使い始めて半年以上経ってるのに。。。)


動画ではiPhone用のアプリケーションパッケージをビルドする方法についても
触れられていますが、こちらについては以前のエントリで記載したと思いますので割愛。
http://d.hatena.ne.jp/corrupt/20110327/1301215895



◆ Corona Tutorial #2 - Transitions

ここではtransition、つまりは状態遷移のアニメーションについて簡単な解説です。
まずは以前のHello World!プログラムを開き、以下のコードを追加します。

transition.to(text, {time = 2000, alpha = 0})

transition.toについては以下のドキュメントで解説されています。
◇ API Reference » Animation » Transitions - transition.to( )
これによると、transition.toに指定出来る内容は以下のようになります。

transition.to( target, params )
target : 
 transitionを発生させるオブジェクトを指定する
params : 
 Tableでオブジェクトのアニメーションに関するプロパティと、
 1つ以上のオプショナルなnon-animatedプロパティを設定。
 ※いくつかプロパティはありますが、取り合えずよく使うものだけ。
 ・params.time
   アニメーションを行う時間をミリ秒で指定。デフォルトは500ms
 ・params.delay
   アニメーションの開始時間をミリ秒で指定。デフォルトでは無し
   何らかのアニメーションに追随して発生させたい場合などに、
   開始を遅らせるために利用することが多い。

その他にも、paramsにはオブジェクトのCommon Propertiesが指定出来ます。
これについては、結構な量があるのとオブジェクト名で察しがつくので以下を。
http://developer.anscamobile.com/reference/index/common-properties


取り合えず、このコードを実行するとHello World!がフェードアウトします。
2秒かけて、アルファ値を0にしているのでそのような結果になりますね。
次に、以下のようなコードを足して動きも付けてみます。

transition.to(text, {time = 2000, alpha = 0, x = 300, y = 400})

所期位置として指定していた50,50から、300,400に向かって移動しながら
フェードアウトして行くアニメーションになったかと思います。


思ったよりもエントリが長くなってきたので、次のエントリへ続く。。。と思ったんだけど
GearAnimationのサンプルを実装しようと思ったが、使っている画像ファイルが
落とせないので困ったことに。仕方が無いので以降はビデオのLessonはあきらめて
公式にあるサンプルを見て、調べて行こうかなと思います。