四月 19, 2010 6 : 28 下午 此格有 10 个脚印
即时获得麻球游戏开发的最新消息,关注游戏开发者热门讨论,请各位开发者申请加入麻球官方群:121304476
也可以follow catfly围脖:t.sina.com.cn/iscat
也可以follow catfly围脖:t.sina.com.cn/iscat
相册转场的制作很简单,每一种转场效果只要求是一个影片剪辑对象就可以,每一种转场效果都发布成独立的swf文件,然后Embed到转场文件中,再把这些转场类统一存放在_transArr数组中,最后根据请求返回指定的转场影片剪辑对象。
下面是制作转场文件时的文件结构,我把所有的单个的转场动画的swf文件全放在assets文件夹中。

一. 在转场制作文件的文档类中, Embed所有的转场文件,并把所有的类存放在_transArr数组中。
[Embed(source="./assets/trans1.swf")]
public var trans1:Class;
[Embed(source="./assets/trans2.swf")]
public var trans2:Class;
[Embed(source="./assets/trans3.swf")]
public var trans3:Class;
[Embed(source="./assets/trans4.swf")]
public var trans4:Class;
[Embed(source="./assets/trans5.swf")]
public var trans5:Class;
[Embed(source="./assets/trans6.swf")]
public var trans6:Class;
......
private var _transArr:Array=new Array(trans1,trans2,trans3,trans4,trans5,trans6,......);
二. 在转场文件中有一个公共方法getTransition(n:Number=0):MovieClip,相册对象加载并设置转场文件后,就通过getTransition方法返回一个转场的MovieClip对象。
public function getTransition(n:Number=0):MovieClip {
var trans:MovieClip = new _transArr[n]();
return trans;
}
转场示例文件:transition.rar
三. 给相册设置转场的时候,需要在相册中加载最终编译好的transition.swf文件,
最后在加载完成的方法中把加载的transition对象通过相册的setTransition(tansArr:Array,tranSwf:Object)方法,就完成了对相册转场的设置。
tansArr中存放的是每一张图片对应的转场编号,
tranSwf是编号对应的转场影片剪辑。
var __tranSwf:Class;
var tranSwf:Object;
var transUrl:String = "./transition/albumTransition.swf";
loadTransition();
function loadTransition():void {
var loadTrans:Loader = new Loader();
var transContext:LoaderContext = new LoaderContext();
transContext.checkPolicyFile=true;
transContext.applicationDomain=new ApplicationDomain(ApplicationDomain.currentDomain);
loadTrans.load(new URLRequest(transUrl),transContext);
loadTrans.contentLoaderInfo.addEventListener(Event.COMPLETE,transitionLoadedFun);
}
function transitionLoadedFun(e:Event):void {
__tranSwf=e.target.applicationDomain.getDefinition("AlbumTransition") as Class;
tranSwf = new __tranSwf();
albumPlayer.setTransition(albumData["transArr"],tranSwf);
trace("[Transition loaded successfully!]");
}






