描画オブジェクトのフェードインとフェードアウトについてです。フェードインは徐々に透明から徐々に描画され、フェードアウトは徐々に透明になる動作です。
基本的な考え方は「オブジェクトの移動」と同様です。
キャンセル・一時停止・再開はこちらを参照してください。
移動関係の各種イベントはこちらを参照してください。
1.関数の説明
リファレンスを見ると関数と引数は以下の通りです。
transition.fadeIn(target, params)
transition.fadeOut(target, params)
引数名 | 説明 |
---|---|
target | フェードイン・アウトさせる対象 |
params | パラメータ |
パラメータ
注:パラメータはすべてオプションなので、設定しなくても動作します。
名前 | 説明 |
---|---|
time | フェードイン・アウトが完了するまでの時間(ミリ秒) |
tag | 識別用の名前(キャンセルや一時停止などで使用可能) |
transition | フェードイン・アウトの仕方(なだらかに加速など)(easingライブラリを指定) |
delay | 指定時間後にフェードイン・アウトを開始(ミリ秒) |
onStart | フェードイン・アウトが開始した際に呼び出す関数を指定 |
onComplete | フェードイン・アウトが完了した際に呼び出す関数を指定 |
onPause | フェードイン・アウトが一時停止した際に呼び出す関数を指定 |
onResume | フェードイン・アウトが再開した際に呼び出す関数を指定 |
onCancel | フェードイン・アウトをキャンセルした際に呼び出す関数を指定 |
2. 「alpha」値について
フェードイン・フェードアウトを行う場合、重要なポイントがあります。それは対象の「alpha」を設定しておくことです。フェードインでは「alpha」を1.0へ変化、フェードアウトは「alpha」を0.0へ変化させる処理になっています。なので、フェードインする場合、対象の「alpha」には0を入れておかないと何も変わらないということが発生します。
3. サンプル
3.1 フェードイン
local obj1 = display.newRect(100, 100, 50, 50)
obj1:setFillColor(1, 0, 0, 1)
obj1.alpha = 0
local retTransition = transition.fadeIn(obj1, {time = 2000})
3.2 フェードアウト
local obj1 = display.newRect(100, 100, 50, 50)
obj1:setFillColor(1, 0, 0, 1)
obj1.alpha = 1
local retTransition = transition.fadeOut(obj1, {time = 2000})
3.3 フェードアウトしてからフェードイン
local obj1 = display.newRect(100, 100, 50, 50)
obj1:setFillColor(1, 0, 0, 1)
obj1.alpha = 1
local retTransition = transition.fadeOut(obj1, {time = 2000})
local retTransition = transition.fadeIn(obj1, {time = 2000, delay = 2500})
3.4 移動しながらのフェードイン
local obj1 = display.newRect(0, 0, 50, 50)
obj1:setFillColor(1, 0, 0, 1)
obj1.alpha = 0
local retTransition = transition.fadeIn(obj1, {x = 200, y = 200, time = 2000})
3.5 移動しながらのフェードアウト
local obj1 = display.newRect(100, 100, 50, 50)
obj1:setFillColor(1, 0, 0, 1)
obj1.alpha = 1
local retTransition = transition.fadeOut(obj1, {x = 0, y = 0, time = 2000})
<更新履歴>
版 | 更新日 | Corona SDKのバージョン |
新規作成 | 2015年9月11日 | v2015.2646 |