前段时间开发Flash 游戏,游戏中需要动态load地图,并且根据元件的数据,重复load相同的地图,根据鼠标停留在不同的按钮上地图发生相应的滚动。由于素材都是从网络上找的所以效果比较难看,美工把图片设计出来放上去就可以用了。
开发流程:
1)地图加载
首先我们找了一张图片在flash cs3 中做成flex元件。元件类名:MapBackGround。在flex 开发工具中创建一个MapSlide.as 的类,继承Canvas。因为我们最终要放入到flex容器中,所以必须继承Canvas。编写代码如下:
mc = new Canvas() 是指地图的装在容器,以为我们会根据地图上需要显示元件的数量决定地图的重复次数。
地图重复加载后我们就需要重复那些地图上的元件了。根据地图的具体坐标你所要放置的重复加载就可以了。
var window:Rectangle = new Rectangle(0, 0, 500, 400) 区域对象,主要是设置一个矩形区域的坐标,已经高度和宽度。地图肯定是大于我们屏幕上显示区域的大小,我们就需要通过设置Rectangle ,改变显示地图的大小已经坐标。Rectangle 构造方法里面有4个参数,第一个是X坐标,第二个是Y坐标,设置这两个参数,控制地图的X,Y坐标和屏幕地图容器的左上角对其。第三个是WIDTH,第四个是HEIGHT,这两个参数主要控制地图容器的宽度和高度。mc.scrollRect = window; 这一句就是指:把矩形区域设置成MC容器(地图容器)。
var map:MapBackGround = new MapBackGround(); 创建一个地图对象,这个地图对象上面已经提到,是通过flash 创建的flex元件
2)地图上元件加载
1.游戏开发中,许多时候,我们需要在地图中加载其他的元素。
House 指用户falsh cs3所作的flex元件
方法参数 mc:加载房屋元件的容器 x,y:放置房屋元件的坐标
3)地图重复Load
1.确定地图根据什么进行重复,我本次实例是,我会根据元件房屋的数量进行重复地图。
2.确定一个地址可以放置房屋的数量,本实例一个地图默认放置3个房屋。
3.修改地图加载的方法
方法增加了houseSize,表示地图上房屋加载的数量。根据公式(总数量+一个地图放置的数量-1)/一个地图放置的数量,计算出地图的数量,大家可以验证。
下面都是循环加载地图了,相信这个很简单了,我不做过多的解释了。
4.重复加载元件
4)地图滑动
地图和元件加载完成后我们只能看见当前500*400范围内的地图,这时,我们可以通过滚动地图查看其他地方。
1.地图滑动控制,可以选择按钮,或者其他的方式控制。这里我选择的是自定义的按钮元件进行控制的。增加按钮如下方法
这个方法主要增加4个方向地图滑动的按钮,scroll是一个timer的引用,这里为了看到地图滑动的效用,用timer 做了循环移动
2.地图移动方法
这个方法会根据鼠标指向不同的按钮产生事件,启动timer执行方法体中的代码
其中Math.min()方法主要是获取两个数中最小的一个,是做地图边界判断,防止出现地图滚动过多。
3)滚动地图按钮的OVER和OUT事件
原文地址:
http://blog.csdn.net/liujia9234/archive/2010/08/21/5828734.aspx
分享到:
相关推荐
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
flex as3 遮罩的使用例子flex as3 遮罩的使用例子flex as3 遮罩的使用例子flex as3 遮罩的使用例子
flex arcgis 加载天地图2.0地图源码
flex as3虚线
学习flex/as3不错的入门资料,强烈推荐
flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线flex as3 园 线
flexBulider页面加载动态图片的显示
Flex教程系列之(一) AS3语法——编程基础 http://download.csdn.net/source/1161756 Flex教程系列之(二) AS3语法——流程控制语句 http://download.csdn.net/source/1161804 Flex教程系列之(三) AS3语法——控制...
flex as3 元数据标签综合 flex as3 元数据标签综合 flex as3 元数据标签综合
第一章 Flex简介和开发环境 第二章 AS3语法 第三章 事件驱动 第四章 自定义事件 第五章 数据绑定 第六章 样式表和主题 .....实习之
flex as3 帮助文档 pdf格式 flex as3 帮助文档
flex as3zip 文件解压
flex中的as3xls读写excel的代码
实例中展示了Flex中图片左右滑动的代码
该教程简单明了,适合有程序编写基础的人学习。
Flex4的菜单滑动效果,可以参考一下,move特效的使用方法
基于Flex 开源源码3D地图,完全可以超过现在商用的E都市的地图
Flex AS3笔记, 讲解FLEX的组件知识,FLEX与J2EE通讯原理 数据分布产等
Flex as3绘制的3D饼图,完全手动绘制,很多样式没有提供接口,需要在组件内源码中修改,存在的缺陷是饼图的标签位置计算的不合理,如果有人愿意帮忙修改,非常感激,希望能将3D饼图做到完美,更希望高手帮忙改改!
flex as3游戏寻路源码+详解,地图加载,地图分块加载,预加载,寻路