« p432 | メイン | 黒虫 »

XMLSlideShow.asに機能追加

TweenImageLoaderクラスの訂正記事だけだと申し訳ないので、TweenImageLoaderクラスと組み合わせて使うXMLSlideShowクラスにスライドショーの送り、戻し、ジャンプ、停止トグルの関数を追加したいと思います。XMLSlideShowクラスは、XMLファイルから写真リストを読み込んでスライドショーを行うクラスです。p.434に掲載されています。
次のスクリプトをXMLSlideShow.asに追加して、XMLSlideShowのインスタンスから呼んでください。この追加機能が正しく動作するように、先のTweenImageLoaderクラスの訂正を必ず行ってください。
なお、この追加機能はp.430のSlideShowクラスでも利用できます。
//--------追加関数
//1つ進む
 public function goNext():void {
	timerObj.reset();
	timerObj.start();
	//currentNoのカウントアップ
	currentNo = (currentNo>=photoXml.photo.length())?1:(currentNo+1);
	loadImageNo(currentNo);
}
//1つ戻る
 public function goPrev():void {
	timerObj.reset();
	timerObj.start();
	//currentNoのカウントダウン
	currentNo = (currentNo<=1)?photoXml.photo.length():(currentNo-1);
	loadImageNo(currentNo);
}
//指定の番号へジャンプ
 public function goNo(no:int):void {
	timerObj.reset();
	timerObj.start();
	currentNo = Math.max(1, Math.min(photoXml.photo.length(), no));
	loadImageNo(currentNo);
}
//停止と再生のトグル
 public function togglePause():void {
	if(timerObj.running){
		timerObj.stop();
	}else{
		timerObj.start();
	}
}
使用例は次のようになります。p.437の最初に書いてあるフレームアクションに加筆したスクリプトです。ステージにはnext_mc、prev_mcのムービークリップを作っておきます。
import XMLSlideShow_work;
var xmlUrl:String = "xml/photolist.xml";
var slideObj:XMLSlideShow = new XMLSlideShow(container_mc, xmlUrl);

container_mc.addEventListener(MouseEvent.CLICK, onClick);
next_mc.addEventListener(MouseEvent.CLICK, onNext);
prev_mc.addEventListener(MouseEvent.CLICK, onPrev);

function onClick(event:MouseEvent):void {
	slideObj.togglePause();
}
function onNext(event:MouseEvent):void {
	slideObj.goNext();
}
function onPrev(event:MouseEvent):void {
	slideObj.goPrev();
}

About

2008年4月14日 23:40に投稿されたエントリーのページです。

ひとつ前の投稿は「p432」です。

次の投稿は「黒虫」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。