擬似的な斜め3Dスクロール効果(サムネイル版)
擬似的な3D(立体)斜めスクロール効果をカスタムエフェクトで定義しました。
540x300pxのFlash表示枠中に540x300pxのサムネイル画像を30度傾けた状態で-60度方向へ移動させています。
zoom_mode:0(オリジナルサイズ)、基準点を上(base_mode:8 align_mode:8)として定義するのがポイントです。
登場時は75%の縮小状態から100%(オリジナルサイズ)へ拡大し、退場時は100%から133%へ拡大します。拡大に合わせて-60度方形へX軸とY軸を操作すると擬似的な3D斜めスクロール効果となります。
擬似的な立体感を出すには事前に画像加工が必要です。別記事『擬似的な3Dスクロール効果(サムネイル版)』もご覧下さい。前者は-90度方向へのスクロールとなり、当サンプルは-60度方向への斜めスクロールとなります。
任意角度への移動の概念については別記事『-60度方向への移動効果』を参考にして下さい。
ここでは『移動量と角度で座標算出(JavaScript版)』を利用した座標算出例を紹介します。
-60度方向に画像の高さ分(300px)移動させることになります。拡大しながらのスクロール効果ですので、登場画像と退場画像を連結させた状態で移動させるには座標計算に工夫が必要です。
登場エフェクトの座標算出
移動量 300 角度 -60 X補正値 360 Y補正値 50
として計算します。
結果として以下の値が表示されます。
X目標値(反転):170 Y目標値(反転):310
この値を登場エフェクト定義に指定します。
反転値とは-60度方向に対する反対側、つまり120度方向の座標を意味します。
-120度方向に300px分移動した座標が『登場エフェクトの開始位置』となる訳です。
登場時は75%状態から100%へ拡大しながらの移動ですが、単純に移動量300として下さい。
300とは画像の高さとなります。
X補正値、Y補正値は登場エフェクト完了時のX,Y座標を意味します。
画像基準点は上(base_mode:8 align_mode:8)になります。
30度に傾けた画像を移動させますので登場エフェクトの定義は
<in x="1,320,170" y="1,50,310" xs="1,100,75" ys="1,100,75" rot="0,30" />
こんな感じになります。
退場エフェクトの座標算出
移動量 400 角度 -60 X補正値 360 Y補正値 50
として計算します。
結果として以下の値が表示されます。
X目標値:520 Y目標値:-296
退場時は100%状態から133%へ拡大しながらの移動です。
移動量400は、画像の高さである300を1.33倍した値ということになります。
退場エフェクトの定義は
<out x="1,520" y="1,-296" xs="1,133" ys="1,133" />
こんな感じになります。
カスタムプラグイン、カスタムエフェクトの詳しい利用方法はELZのFPEマニュアルを参照して下さい。
テロップ画像(Flash表示領域中央のタイトル用画像)
陰影効果用フレーム画像
スライドショーで利用する画像の縮小イメージ
FPEに読み込ませる定義ファイル(xml)のサンプル
<?xml version="1.0" encoding="UTF-8" ?>
<pagedata>
<common>
<copyright>elz.jp</copyright>
<banner_align>3</banner_align>
<image_max>2</image_max>
<prefix>images/thumb</prefix>
<frame_url>images/frame_grade001.png</frame_url>
<effect_type>in,out</effect_type>
<effect_time>30</effect_time>
<stop_time>0</stop_time>
<align_mode>8</align_mode>
<base_mode>8</base_mode>
<zoom_mode>0</zoom_mode>
<plugin_url>images/title001.jpg</plugin_url>
<plugin_effect_type>fe_none</plugin_effect_type>
<plugin_align_mode>4</plugin_align_mode>
<plugin_base_mode>7</plugin_base_mode>
<plugin_blend_mode>hardlight</plugin_blend_mode>
<play_mode>1</play_mode>
</common>
<effect>
<in x="1,320,170" y="1,50,310" xs="1,100,75" ys="1,100,75" alpha="131,100,0" rot="0,30" />
<out x="1,520" y="1,-296" xs="1,133" ys="1,133" alpha="231,0" />
</effect>
</pagedata>