sayoさん、
今日は。
2枚の画像写真なので、それに特化し、できるだけ、シンプルにして、サンプルを作ってみました。
murataと少し、動きが異なる所もあるかもしれませんが、ご容赦下さい。
1)写真を2枚用意し、それぞれ、1.jpgと2.jpgと名づけ、swfと同一階層(同一フォルダー内)においておきます。
2)写真(サンプルでは、500×375)と同サイズに、ステージサイズを作り、同じサイズで、図形を描き、左上基準で、MovieClip化し、インスタンス名を、mcとしましょう。
3)写真を縮小したものを、表示させるために、2)のmcのレイヤーの上にレイヤーを作り、100×75の図形(20%に縮小)を描き、MovieClip化します。其々、mc1とmc2とインスタンス名をつけます。同様に、このレイヤーにENTERボタンを配置します。サンプルでは、コンポーネントのボタンを配置してますが、自分で作ってもいいでしょう。インスタンス名を、enter_btnとしました。
4)以上で、準備ができたので、スクリプトを記載しますが、
・シーンの第一フレームの一番上に、scriptレイヤーを作り、
this.stop();
clearInterval(Timer2);//第二フレームで作った、Timer2というsetIntervalをクリアしておく。
クリアしないと、第一フレーム再生中に、Timer2が効いてしまいます。
mc1._xscale = mc1._yscale=mc2._xscale=mc2._yscale=20;/*写真を20%に縮小して、読み込むので、mc1とmc2のスケールを20%とする*/
mc.loadMovie("1.jpg");//mcに、1.jpgを読み込む
mc1.loadMovie("1.jpg");//20%縮小して、mc1に読み込む
mc2.loadMovie("2.jpg");
function Next() {//setIntervalで呼び出す、カスタム関数を定義、呼び出されたら、次のフレームに移動して、停止
nextFrame();
}
Timer1 = setInterval(Next, 10000);//10秒おきに、Next()関数を呼び出す
enter_btn.onRelease = function():Void {//このボタンを押したら、以下のurlにリンク
getURL("http://www.murata.co.jp/", "_blank");
};
・第二フレームのscriptレイヤーには、
clearInterval(Timer1);//第一フレームで、作った、setIntervalをクリアしておく。クリアしておかないと、第二フレーム再生中に、Timer1が効いてしまいます。
mc.loadMovie("2.jpg");//2.jpgを読み込む
function Prev(){
prevFrame();
}
Timer2=setInterval(Prev,10000);//10秒おきに、Prev();を実行する
・mc1とmc2に対しては、直接記載するクリップアクションで、以下を記載する。
■mc1に対して、
onClipEvent (load) {
this._alpha = 40;
Check = false;//制御変数の初期値は、false
}
onClipEvent (enterFrame) {
if (Check) {//Check==trueなら、目標接近スクリプトで、_alpha値 100に向かって、接近する。5は速度調整値で、大きくすれが、ゆっくりとなります。
this._alpha += (100-this._alpha)/5;
}else{
this._alpha+=(40-this._alpha)/5;//初期値の40に向かって、戻る
}
}
on (rollOver) {
Check=true;//ロールオーバーすると、Checkをtrueとする
this._parent.mc._alpha=100;//ロールオーバーすると、100とする
}
on (rollOut, releaseOutside) {
Check=false;
this._parent.mc._alpha=50;
}
on (release) {
_root.prevFrame();//押されたら、次のフレームに移動して、停止
}
-mc2に対して
onClipEvent (load) {
this._alpha = 40;
Check = false;
}
onClipEvent (enterFrame) {
if (Check) {
this._alpha += (100-this._alpha)/5;
}else{
this._alpha+=(40-this._alpha)/5;
}
}
on (rollOver) {
Check=true;
this._parent.mc._alpha=100;
}
on (rollOut, releaseOutside) {
Check=false;
this._parent.mc._alpha=50;
}
on (release) {
_root.nextFrame();//押されたら、前のフレームに移動して、停止
}
以上ですが、枚数が多い場合のスライドショーに関しては、憲ちゃんさんの有名な、
■Flash5による外部JPEGを使った自動スライドショー
や
daniwellさんやTOYAMさんのサンプルが参考になると思います。
■外部JPGのスライドショーに制御ボタンを付けるには?
http://homepage2.nifty.com/joys/answers/murata/murata.html
|