`

mapeidt简单解析类

    博客分类:
  • flex
阅读更多
<map filename="E:\Program Files\mapedit2\main\images\maps\1.jpg" name="test2" mapwidth="300" mapheight="300" loadType="0" roadType="0">
  <floor tileWidth="60" tileHeight="30" row="20" col="5">
  1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,
  0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,
  0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1
  
  
  </floor>
  <items>
    <item id="2" file="障碍/靠背椅1.png" type="building" xoffset="60" yoffset="30" px="90" py="105" ix="2" iy="11">
      <walkable>120,90</walkable>
    </item>
    <item id="3" file="障碍/花坛1.png" type="building" xoffset="60" yoffset="30" px="180" py="180" ix="3" iy="13">
      <walkable>90,45,90,75</walkable>
    </item>
  </items>
</map>

 

package main
{
	import flash.display.DisplayObject;
	import flash.display.Loader;
	import flash.events.Event;
	import flash.net.URLRequest;
	
	import mx.controls.Alert;
	import mx.core.UIComponent;
	
	public class MainScene extends UIComponent
	{
		private var mapxml:XML
		private var mapArray:Array=[];
		private var col:int;
		private var row:int;
		public function MainScene(mapxml:XML)
		{
			this.mapxml=mapxml;
			this.col=mapxml.floor.@col;
			this.row=mapxml.floor.@row;
			Alert.show("col"+col);
			Alert.show("row"+row);
		}
		public function init():void{
			var loader:Loader=new Loader();
			loader.load(new URLRequest(mapxml.@filename));
			//loader.addEventListener(Event.COMPLETE,onmapCommit);
			this.addChild(loader);//背景
			initbuilder();// 建筑层
			initArray();//floor
		}
		//加载地图完成
		private function onmapCommit(event:Event):void{
			this.addChild(event.target as DisplayObject);
			initbuilder();//初始化建筑物
			
		}
		//初始化建筑层
		private function initbuilder(){
			Alert.show(mapxml.items.item);
			for each(var build:XML in mapxml.items.item){
				var loader:Loader=new Loader();
				loader.load(new URLRequest(build.@file));
				this.addChild(loader);
				loader.x=build.@px;
				loader.y=build.@py;
			}
			
		}
		//一行一行取,
		private function initArray(){
			var zero:String=mapxml.floor;
			var zeroArr:Array=zero.split(",");
			for(var i:int=0;i<col;i++){
				mapArray[i]=new Array
				for(var j:int=0;j<row;j++){
					mapArray[i][j]=zeroArr[j+row*i];//
					//trace("i==="+i+"j=="+j);
				}
				
			}
			trace(mapArray[4]);
//			Alert.show(zero);
		}
		
	}
}

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
	
	<mx:Script>
		<![CDATA[
			import main.MainScene;
			import mx.controls.Alert;
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
			private var mapxml:XML;
			private var mains:MainScene;
			private function init(){
				var loader:URLLoader=new URLLoader();
				loader.load(new URLRequest("map/test2.xml"));
				loader.addEventListener(Event.COMPLETE,resultHandle)
				
			}
			private function resultHandle(event:Event){
				var mapxml:XML=new XML(event.target.data);
				mains=new MainScene(mapxml);
				mains.init();
				this.addChild(mains);
				
			}
		]]>
	</mx:Script>
</mx:Application>

 

分享到:
评论

相关推荐

    基于net的超市管理系统源代码(完整前后端+sqlserver+说明文档+LW).zip

    功能说明: 环境说明: 开发软件:VS 2017 (版本2017以上即可,不能低于2017) 数据库:SqlServer2008r2(数据库版本无限制,都可以导入) 开发模式:mvc。。。

    LABVIEW程序实例-公式节点.zip

    labview程序代码参考学习使用,希望对你有所帮助。

    大米商城开源版damishop(适合外贸)

    大米外贸商城系统 简称damishop 完全开源版,只需做一种语言一键开启全球133中语言自动翻译功能,价格实现自动汇率转换,集成微信支付宝 paypal以及国外主流支付方式,自带文章博客系统。 软件架构 基于MVC+语言包模式,增加控制台,API导入产品方便对接其他系统(带json示例数据)。 使用要求 PHP7.4+ MYSQL5.6+ REDIS(可选) 安装方法 composer install 打开安装向导安装 http://您的域名/install 特色 1、缓存层增加时间与批量like删除 2、API产品导入方便对接其他系统 3、增加控制台命令行,命令行生成语言翻译包 4、后台一键开启自动翻译模式,支持全球133中语言,由于google代理翻译需要收费,这个功能需要付费。 5、可选购物车与ajax修改购物车产品 6、一键结算checkout 7、增加网站前台自定义路由 方便seo 更新日志 v3.9.7 集成鱼码支付接口,方便个人站长即使收款到账使用 v3.9.3 更新内容 1:增加ueditor与旧编辑器切换 2:增加可视化布局插

    LABVIEW程序实例-通过全局变量接收数据.zip

    labview程序代码参考学习使用,希望对你有所帮助。

    LABVIEW程序实例-日历控件.zip

    labview程序代码参考学习使用,希望对你有所帮助。

    毕设和企业适用springboot人工智能客服系统类及旅游规划平台源码+论文+视频.zip

    毕设和企业适用springboot人工智能客服系统类及旅游规划平台源码+论文+视频

Global site tag (gtag.js) - Google Analytics