CoronaSDK勉強会 atデジハリ渋谷 第3回

第3回があったのは先週(以下略


イベントに関する内容でした。
アプリ開発とかに関わりがない人って、イベントリスナーって言って
どういうことかイメージわいたりするんでしょうか?


Listenerを介したイベントの連結については、VC++を勉強していた頃に
概念として、Android開発を行ったときに名称としてイメージ出来ていたので
特に迷うことはありませんでしたが。。。


関数ポインタのようなものですね。ある動作を行ったときに、この動作を行う、という
関連付けを行っておくというわけです。
普通に考えたら、何をやるかとか指示していないと出来る訳ないですよね。



前回のおまけとして、GearAnimationについて。
GearAnimationについて解説しているビデオは残っているんですが、
素材が落とせなくて勉強を断念していたので助かりました。


◆ EnterFrameイベントに対する解説
 これは、"frameに入ったときにイベントを実行する"もの。
 色々と省略しているので、下記を写しただけでは動作しませんが、

local time = system.getTimer()
local function animate( event )
	local now = system.getTimer() 	
	local elapsed = now - time 	
	local rotationAngle = rotateAmount * (elapsed / 1000.0) * 10 	
	time = now 	
	gear.rotation = gear.rotation + rotationAngle 	
	gear2.rotation = gear2.rotation - rotationAngle 
end 
Runtime:addEventListener( "enterFrame", animate );


あとは、タイマーやシステムイベントについて。
システムイベントについてで、特に覚えておく必要を感じたのは

"applicationExit"イベントをハンドルすることで、
アプリケーションを閉じる際にイベントを実行することが出来る

ということ。これでアプリケーションを閉じる際にアプリの状態を
設定ファイルに保存する、と言ったことを行える。


イベントに関しては、第1回のときなどに配られた
"JavaプログラマーのためのLua入門"のCH4で解説されています。


◆ Local Events
 ボタンなどをこう呼ぶ。
 複数のボタンが重なっている場合などは、最後にTrueを
 返すことでそのイベントを実行した時点でイベント終了となる。


 英語だが、以下で解説されている。
 http://developer.anscamobile.com/content/events-and-listeners


◆ マルチタッチ
 マルチタッチは、個々で一つ一つのイベントとして送られてくる。
 IDとTime(発生時間)の情報を持っているので、そこで判断する。


◆ KWIK
 PhotoShopCS5以降ならば利用出来るCorona開発用ツール。
 アニメーションなどを作成するためには便利。
 現在は「動画」を利用することが出来ない。ロードマップ上にはあるため将来対応。



CoronaSDKは登録後、すぐに利用出来るようになるらしい。
そのため、本当にギリギリまで登録をしないでいた方が特なようだ。
(いい加減円安になりそうな気もしているけど)


Coronaのサイトで、
CodeExchange->MostViewedのページを参照することで、
WrapTextなどの良く参照されているアプリサンプルを見ることが出来る。