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(); }