每天学一点flash(40) 制作走马灯四
在原來的基礎上再增加多一個鼠標觸發事件,那就是響應點擊事件。當我們點擊了每一張圖片的時候那么我們就可以判斷每一張所在連接圖片的網址了。代碼如下:
package { ?import flash.display.MovieClip;
?import flash.display.Sprite;
?import flash.display.Loader; ?
import flash.events.*;
?import flash.utils.*;//執行時間間隔的
??import flash.net.*;
??import flash.system.System;
?public class Picture extends MovieClip {
??private var tempMC:mc; ??
private var movetime:Timer; ?
?private var picArray:Array;//裝載多個影片剪輯的 ?
?private var imgArray:Array;//裝載多個loader 對象 ?
?private var myurl:Array;//裝載xml里面的網址 ?
?private var list:Array; ??private var myxml:XML;
??private var mylist:XMLList; ??
private var ld:Loader; ?
?private var _loader:URLLoader;
??public function Picture() { ?
??System.useCodePage=true;
???picArray=new Array(); ??
?imgArray=new Array();
???myurl=new Array(); ??
?list=new Array(); ??
?myxml=new XML(); ??
?myxml.ignoreWhite = true;
???_loader=new URLLoader(); ??
?_loader.load(new URLRequest("menu.XML")); ?
??_loader.addEventListener(Event.COMPLETE,loading);
???for (var i:int=0; i<7; i++) { ????
tempMC = new mc(); ???
?tempMC.addEventListener(MouseEvent.MOUSE_OVER,stoping);//產生鼠標事件 ???
?tempMC.addEventListener(MouseEvent.MOUSE_OUT,starting);//產生鼠標事件 ???
?tempMC.addEventListener(MouseEvent.CLICK,clicking);//產生點擊鼠標事件 ???
?tempMC.name="tempMC"+i; ??
??picArray.push(tempMC); ??
??addChild(picArray[i]); ???
?picArray[i].x=i*picArray[i].width;
???} ?
??movetime=new Timer(80); ??
?movetime.addEventListener(TimerEvent.TIMER,picmove); ???movetime.start(); ??} ??
private function picmove(event:TimerEvent):void {
???for (var t:int=0; t<7; t++) { ??
??picArray[t].x-=5; ????if (picArray[t].x<-88) { ???
??picArray[t].x=6*88; ????} ???} ??}
?
??private function loading(evt:Event):void {
???myxml=XML(_loader.data); ???
mylist=myxml.children(); ??
?trace( mylist);
???for (var j:int=0; j<mylist.length(); j++) {
????list[j]=mylist.attribute("url")[j]; ??
??myurl[j]=mylist.attribute("myurl")[j]; ??
??trace(list[j]); ?
???ld=new Loader();//加載圖片用
????ld.name="ld"+j;//這里都很重要的位置,為每一loader對象改一個名字 ??
??imgArray.push(ld);//管理多個loader 對象 ??
??imgArray[j].load(new URLRequest(list[j])); ??
??picArray[j].addChild(imgArray[j]);
???}
??} ??private function stoping(e:MouseEvent):void { ???movetime.stop();//停止圖片運動
??} ??private function starting(e:MouseEvent):void { ???movetime.start();//讓圖片開始運動
??} ??private function clicking(e:MouseEvent):void {??
??for (var k:int=0; k<7; k++) {???
??var str:String="ld"+k;//當你點擊的圖片名字與你所在的對應的圖片的網址時候那么就會發生響應???
??if (e.target.name==str) {???
???navigateToURL(new URLRequest (myurl[k]));??
???} else { ?????trace("cuowu");????
?}???
?} ???trace(e.target.name);
??} ?} }?
xml文件設置:
<?xml version="1.0" encoding="gb2312"?>
<item> ?<menuname url="photo/1.jpg"?? myurl="http://www.baidu.com"??? />
??<menuname url="photo/2.jpg"???? myurl="http://www.hao123.com"???????? />?
?<menuname url="photo/3.jpg"????? myurl="http://www.sina.com.cn/"????? />??
<menuname url="photo/4.jpg"????? myurl="http://www.163.com"????????? />?
?<menuname url="photo/5.jpg"???? myurl="http://www.yahoo.com"????????? />?????
??? <menuname url="photo/6.jpg"???? myurl="http://www.nba.com"?????????? />????
???? <menuname url="photo/7.jpg"??? myurl="http://www.pchome.com"?????????? />
?</item>
?
第一幀設置:
var p:Picture=new Picture(); addChild(p);
總述:這個完整的走馬燈使用到很多綜合的flash 語法,作為練習文件還是不錯的。好,就寫到這里。。
走馬燈 基本上完成了
?
?
轉載于:https://www.cnblogs.com/guoyiqi/archive/2008/02/15/2069543.html
總結
以上是生活随笔為你收集整理的每天学一点flash(40) 制作走马灯四的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql当等INSERT之后获取主键值
- 下一篇: 加入收藏 lsk的BLOG