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はあきらめて
公式にあるサンプルを見て、調べて行こうかなと思います。