每天學一點flash(38) 製作走馬燈二

來源:互聯網
上載者:User

Picture.as檔案

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 list:Array;
  private var myxml:XML;
  private var mylist:XMLList;
  private var ld:Loader;
  private var _loader:URLLoader;
  private var myurl:URLRequest;
  public function Picture() {
   System.useCodePage=true;

   picArray=new Array();
   imgArray=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();
    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];
    trace(list[j]);
    ld=new Loader();//載入圖片用
    imgArray.push(ld);//管理多個loader 對象
    imgArray[j].load(new URLRequest(list[j]));
    picArray[j].addChild(imgArray[j]);

   }

  }
 }
}

 

xml檔案:

<?xml version="1.0" encoding="gb2312"?>
<item>
 <menuname url="photo/1.jpg"/>
 <menuname url="photo/2.jpg"/>
 <menuname url="photo/3.jpg"/>
 <menuname url="photo/4.jpg"/>
 <menuname url="photo/5.jpg"/>
 <menuname url="photo/6.jpg"/>
 <menuname url="photo/7.jpg"/>
</item> 

 

基本設定:

圖片大小:88x105(裝載為photo檔案夾裡面)

情境:528x105

 

 情境第一幀代碼:

var p:Picture=new Picture();
addChild(p);

這次的代碼用類的寫法改變在時間軸上書寫代碼,但其實都是差不多。為了使每一個影片剪輯可以裝載多個圖片這時候 這裡使用了 數組list 裝載多了loader 對象 ,方便處理。製作這個圖片運動,它需要我們知道的知識包括:如何載入外部的xml檔案,知道如何去用new 複製多個影片剪輯,同樣要知道 addChild 使用的用法。

過去我們習慣用一個影片剪輯作為被載入對象的容器,現在同樣的方法我們使用的手段是一樣的。這個技巧需要我們知道一下。  以上的代碼可以實現圖片運動,以及載入多張圖片是怎樣載入的。都是菜鳥的寫法。寫得不好

望能見諒,反正自己的筆記來 。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.