プロが教えるわが家の防犯対策術!

下記URLに掲載されているスライドショーの写真をフェードインフェードアウトした形で表示をさせたいです。
今夜1時までに修正しなくてはいけないのですが、うまくできず困っています。
お手数ですが、修正方法を教えてください。

【フェードインフェードアウトさせたいスライドショー】↓  
http://www.adobe.com/jp/support/flash/applicatio … eshow_xml/index.html
【フェードインフェードアウトさせたいスライドショーのソース】↓
http://www.adobe.com/jp/support/flash/applicatio … eshow_xml/jpeg_slideshow_xml06.html


【制作参考スライドショー】(こんな感じに変更したいのですが、ソースのどこを組み込んでいけばよいのかわからないので教えてください)↓
http://www.mediacreator.jp/misc_examples/flash8/ … ow.html
(ソースダウンロード場所→http://www.mediacreator.jp/downloads/index.asp
内のFlash8のぼかしフィルタJPGスライドショー:blur_slideshow.zip)

A 回答 (1件)

やっと、私(BlurFiltan) の出番が来た。


と思ったら、結構合わせ技で難しいですね。
Macromedia のサンプル
【フェードインフェードアウトさせたいスライドショー】↓  
http://www.adobe.com/jp/support/flash/applicatio …
のフレーム1のスクリプトを書きかえると次のようになると思います。
なんとか動くという代物であまりスッキリとしたコードではありません。


// ↓ここでスピードを調節してください
var speed:Number = 5;
//
slides_xml = new XML();
slides_xml.onLoad = startSlideShow;
slides_xml.load("slides.xml");
slides_xml.ignoreWhite = true;
//
import flash.filters.BlurFilter;
//import flash.display.BitmapData;
var filter:BlurFilter = new BlurFilter(0, 0, 3);
var flag:Number = 0;
//
// Show the first slide and intialize variables
function startSlideShow(success) {
if (success == true) {
rootNode = slides_xml.firstChild;
totalSlides = rootNode.childNodes.length;
firstSlideNode = rootNode.firstChild;
currentSlideNode = firstSlideNode;
currentIndex = 1;
updateSlide(firstSlideNode);
}
}
//
// Updates the current slide with new image and text
function updateSlide(newSlideNode) {
imagePath = newSlideNode.attributes.jpegURL;
slideText = newSlideNode.firstChild.nodeValue;
this.onEnterFrame = function() {
if (targetClip._alpha>0 && _root.flag == 1) {
targetClip._alpha -= speed;
filter.blurX = (100-targetClip._alpha)/4;
filter.blurY = (100-targetClip._alpha)/4;
targetClip.filters = [filter];
} else if (targetClip._alpha<=0 && _root.flag == 1) {
targetClip._alpha = 0;
_root.flag = 2;
loadMovie(imagePath, targetClip);
//targetClip
} else if (targetClip._alpha<100 && _root.flag == 2) {
targetClip._alpha += speed;
filter.blurX = (100-targetClip._alpha)/4;
filter.blurY = (100-targetClip._alpha)/4;
targetClip.filters = [filter];
} else {
_root.flag = 0;
delete this.onEnterFrame;
}
};
}
//
// Event handler for 'Next slide' button
next_btn.onRelease = function() {
_root.flag = 1;
nextSlideNode = currentSlideNode.nextSibling;
if (nextSlideNode == null) {
break;
} else {
currentIndex++;
updateSlide(nextSlideNode);
currentSlideNode = nextSlideNode;
}
};
//
// Event handler for 'Previous slide' button
back_btn.onRelease = function() {
_root.flag = 1;
previousSlideNode = currentSlideNode.previousSibling;
if (previousSlideNode == null) {
break;
} else {
currentIndex--;
currentSlideNode = previousSlideNode;
updateSlide(previousSlideNode);
}
};



マクロメディアのサンプルFlaにコピペして、自動フォーマットボタンでインデントをつけてもらうのが手っ取り早いかと思います。

--注意!---
パブリッシュの設定で、Flash Player 8 、ActionScript 2.0 を選んでパブリッシュしてください。
完全に Flash 8 以上しか対応していません。
説明は苦手のなのでこの辺で...。
    • good
    • 0
この回答へのお礼

ありがとうございます!いただいたスクリプトで無事修正することができました。今夜はぐっすり眠れそうです!!ほんとうにありがとうございます!!!

お礼日時:2006/06/11 23:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!