×

关注微信公众号

免备案网站空间虚拟主机双线空间域名查询PS数码后期
photoshop互助课堂数百G视频教程下载随时随地聆听大师开讲/课堂酷素材!视频教程打包下手绘教程
咔咔摄影抠图教程路径专辑photoshop cs3视频教程 
查看: 2374|回复: 10

近日来正忙于作品@张志晨as3实例教程78

[复制链接]

该用户从未签到

发表于 2013-12-16 12:36:33 | 显示全部楼层 |阅读模式
本帖最后由 dqxxx 于 2013-12-16 12:51 编辑

近日来正忙于作品@张志晨as3实例教程78


因游戏的需要,写了一个实用的类:
加载外部swf到主时间线,这里面要脱壳,就是说,加载进来的swf,是放在loader.content容器里.换句话说,它原本是主时间线的儿子,导出再加进来,就变成了重孙子。this.parent.parent.parent才是主时间线。

  1. package Lir{
  2.         import flash.display.Sprite;
  3.         import flash.display.Loader;
  4.         import flash.net.URLLoader;
  5.         import flash.net.URLRequest;
  6.         import flash.system.System;
  7.         import flash.events.Event;
  8.         import flash.media.Sound;
  9.         import flash.media.SoundChannel;
  10.         import flash.text.TextField;
  11.         import fl.display.ProLoader;


  12.         public class LirLoad extends Object {
  13.                 System.useCodePage=true;
  14.                 public function LirLoad() {
  15.                 }

  16.                 //加载一个swf,加载完成后执行一个无参数函数:
  17.                 static public function proloader(box,url:String,fun:Function=null) {
  18.                         var loader:ProLoader =new ProLoader();
  19.                         var query:URLRequest=new URLRequest(url);
  20.                         loader.load(query);
  21.                         loader.contentLoaderInfo.addEventListener(Event.COMPLETE ,ok);

  22.                         function ok(e) {
  23.                                 loader.contentLoaderInfo.removeEventListener(Event.COMPLETE ,ok);
  24.                                 var the=(loader.content as MovieClip).getChildAt(0) as MovieClip;
  25.                                 box.addChild(the);
  26.                                 query=null;
  27.                                 loader=null;
  28.                                 if (fun!=null) {
  29.                                         fun();
  30.                                 }

  31.                         }
  32.                 }

  33.                 static public function loadImg(url:String):Sprite {
  34.                         var box:Sprite =new Sprite ();
  35.                         var loader:Loader = new Loader();
  36.                         box.addChild(loader);
  37.                         loader.load(new URLRequest(url));
  38.                         //return loader
  39.                         return box;
  40.                 }
  41.                 public static function loadSound(url:String) {
  42.                         var sc:SoundChannel;
  43.                         var sound:Sound=new Sound();
  44.                         sound.load(new URLRequest(url));
  45.                         sc=sound.play();
  46.                         return sound;
  47.                 }

  48.                 public static function loadTxt(txt:TextField ,url:String) {
  49.                         var loader:URLLoader=new URLLoader();
  50.                         loader.load(new URLRequest(url));

  51.                         //loader.dataFormat=URLLoader.URLLoaderDataFormat.TEXT;
  52.                         //loader.dataFormat=URLLoader.URLLoaderDataFormat.VARIABLES;

  53.                         loader.addEventListener(Event.COMPLETE,LoadFinish);
  54.                         function LoadFinish(evt:Event) {
  55.                                 txt.text=loader.data;
  56.                                 //txt_arr=evt.target.data.split("\n");
  57.                                 //txt_arr[i]=txt_arr[i].replace(/\s/g,"");
  58.                         }
  59.                 }
  60.                 public static function loadSwf(url:String,box:*=null) {
  61.                         if (box ==null) {
  62.                                 box =new Sprite ();
  63.                         }
  64.                         var ldr:Loader = new Loader();
  65.                         var urlReq:URLRequest=new URLRequest(url);
  66.                         ldr.load(urlReq);
  67.                         box.addChild(ldr);
  68.                         return box;
  69.                 }

  70.                 /* 可能的用法:
  71.                 import Lir.LirLoad;
  72.                 System.useCodePage=true;
  73.                 var url:String="E:/flash/text/zzc.xml";
  74.                 var load:LirLoad=new LirLoad()
  75.                 load.loadXml(url)
  76.                 stage.addEventListener(Event.ENTER_FRAME,run);
  77.                 function run(e) {
  78.                 trace(".");
  79.                 if (load.xml!=null) {
  80.                 author.text=load.xml.author
  81.                 titil.text=load.xml.title
  82.                 stage.removeEventListener(Event.ENTER_FRAME,run);
  83.                 }
  84.                
  85.                 }
  86.                 */


  87.                 var _xml:XML;
  88.                 public function loadXml(url:String) {
  89.                         var xmlloader:URLLoader = new URLLoader();
  90.                         xmlloader.load(new URLRequest(url));
  91.                         xmlloader.addEventListener(Event.COMPLETE,_complete);
  92.                         function _complete(e:Event) {
  93.                                 _xml=new XML(e.target.data);
  94.                         }
  95.                 }
  96.                 public function get xml() {
  97.                         return _xml;
  98.                 }
  99.         }
  100. }
复制代码
下图是我写的所有类:


]游戏截图:
与邻家小妹挥泪告别:


战斗拉开序幕:


第五关,冰天雪地斗燕鸥:


战斗激烈而且壮美:


横版宽屏 逆行单打 无限关卡 14年新年礼物版,正在制作中...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[免费注册]

x

该用户从未签到

发表于 2018-3-12 23:39:50 | 显示全部楼层
楼主是超人
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-3-12 22:52:02 | 显示全部楼层
好帖就是要顶
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-3-12 23:10:19 | 显示全部楼层
难得一见的好帖
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-3-12 22:52:05 | 显示全部楼层
好帖子要收藏
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-3-12 23:03:51 | 显示全部楼层
果断收藏了
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-9-24 21:38:19 | 显示全部楼层
真心顶。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-9-24 21:39:30 | 显示全部楼层
难得一见的好帖
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-9-24 21:12:10 | 显示全部楼层
说的非常好
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-9-24 21:12:20 | 显示全部楼层
好帖子要收藏
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-9-24 21:57:27 | 显示全部楼层
教程网我挺你
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [免费注册]

本版积分规则