- 浏览: 97736 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
chensong215:
无法获取到ProgressEvent中的bytesTotal
自定义DownloadProgressBar -
qq2464785999:
非常感谢。
测试后,发现要用相对路径的话,好像要这么写
va ...
Flex写XML文件
.
分类: Flex2010-08-29 21:221063人阅读评论(1)收藏举报
1. 总结目的
在地图中,通过鼠标或者由程序自动运行,让一个人物自动从地图的一点走到另一点。需要计算两点之间的最优路线,要实现这样的寻路算法。最常规和最简单的方法,使用A*算法。本篇总结不具体讲解A*算法的实现以及原理,主要告诉怎么用。后面的总结中我会陆续把A*算法进行详细分析,希望大家学习。
2. 开发流程
2.1. 地图加载
1)在寻路过程中,地图是被分为若干个小格子,当然,根据格子数量的不同,路线长度的不同,计算寻路的时间也就不同。
上面是有一个由20*20的地图拼起来的地图,每一个地图块是有20像素*20像素元件做成。
每一个地图块是2帧构成,地图帧是人物可以行走的路线,第二帧是障碍物(桌子)。上面的地图是路线和障碍物8比2的概率生成,参考代码:
Block 是地图块元件类。用Flash cs3 已经做好。
this.mass_x_count 是指地图X轴上板块数量
this.mass_y_count 是指地图Y轴上板块数量
distancex 是指地图X轴离边界Left的距离
distancey 是指地图Y轴离边界Top的距离
aNodeMap 是一个2维数组,记录着每一个地图块当前的状态,是障碍物还是路线。
地图初始化中,根据两个For循环嵌套,生成一个表格状的地图。这里我不在详细介绍,详细会AS3的一定可以看的懂。
2.2. 地图上移动人物加载
1)路线寻路肯定要有一个元件在地图上移动,才可以正确的显示出寻路的过程。无论是一个人物移动或多个人物移动,基本做法相同,下面我们就来加载一个人物物件到地图上来。
Waiter 是一个移动的任务元件。在这里我们叫“服务员元件”
Timer 是为服务员增加一个timer事件,主要目的是为了服务员从一个地图块移动到另一个地图块,不是跳过去的,而是慢慢的移动过去的。
此方法主要在加载完地图后调用,指定人物加载的X,Y坐标,进行加载。
2.3. 选择移动目的地
1)地图和服务员加载完成后,我们需要选择服务员移动的目的地,选择的方式有很多。举个例子,人人餐厅中客人进来就餐,首先进门后,程序会自动寻找有空位的X,Y坐标,然后计算路线,客人就会沿着路线走进去。同样服务员也会根据客人进来餐厅的循序,以及客人所做的座椅的坐标进行计算路线,然后走过去服务。
2)由于我们只是一个例子,所以就有我们鼠标确定目的地。
this.addEventListener(MouseEvent.CLICK,clickWay);
这个事件通过,用户鼠标点击地图上路线进行调用。
2.4. 路线寻找,人物移动
1)在地图增加完后我们增加一个A*算法实例
AStar是A*算法的一个封装类。我们需要把我们地图上路线和障碍物二维数组传递给算法。
这个是在地图加载后完成
2)确定移动目的地后计算路线
上面代码是在选择目的地后补充的代码
设置A*(asrar)算法的其实点和目的地。起始点和目的地封装成ANode对象给算法的。
ANode 是一个算法计算中节点的保存,记录着节点的位置X,Y,节点ID,以及使用曼哈顿方法计算F = G + H F、G、H值的保存。从而做为路线计算中开启列表进行存储。
最后会调用DoSearch 判断路线的获取是否成功。获取的路线调用astar.aPath 方法进行获取。
启动timer 进行服务员移动操作。
3)服务员移动
在移动服务之前,我们确定,我们寻找到路线,此服务员的上一个路线已经完成。
代码如下:
这个方法是在寻找到路线后,timer启动执行的。bMove 表示是否移动服务员。
player 代表当前移动中的服务员对象,他是在创建服务员的时候保存在全局变量中。
http://blog.csdn.net/liujia9234/article/details/5848325
分类: Flex2010-08-29 21:221063人阅读评论(1)收藏举报
1. 总结目的
在地图中,通过鼠标或者由程序自动运行,让一个人物自动从地图的一点走到另一点。需要计算两点之间的最优路线,要实现这样的寻路算法。最常规和最简单的方法,使用A*算法。本篇总结不具体讲解A*算法的实现以及原理,主要告诉怎么用。后面的总结中我会陆续把A*算法进行详细分析,希望大家学习。
2. 开发流程
2.1. 地图加载
1)在寻路过程中,地图是被分为若干个小格子,当然,根据格子数量的不同,路线长度的不同,计算寻路的时间也就不同。
上面是有一个由20*20的地图拼起来的地图,每一个地图块是有20像素*20像素元件做成。
每一个地图块是2帧构成,地图帧是人物可以行走的路线,第二帧是障碍物(桌子)。上面的地图是路线和障碍物8比2的概率生成,参考代码:
Block 是地图块元件类。用Flash cs3 已经做好。
this.mass_x_count 是指地图X轴上板块数量
this.mass_y_count 是指地图Y轴上板块数量
distancex 是指地图X轴离边界Left的距离
distancey 是指地图Y轴离边界Top的距离
aNodeMap 是一个2维数组,记录着每一个地图块当前的状态,是障碍物还是路线。
地图初始化中,根据两个For循环嵌套,生成一个表格状的地图。这里我不在详细介绍,详细会AS3的一定可以看的懂。
2.2. 地图上移动人物加载
1)路线寻路肯定要有一个元件在地图上移动,才可以正确的显示出寻路的过程。无论是一个人物移动或多个人物移动,基本做法相同,下面我们就来加载一个人物物件到地图上来。
Waiter 是一个移动的任务元件。在这里我们叫“服务员元件”
Timer 是为服务员增加一个timer事件,主要目的是为了服务员从一个地图块移动到另一个地图块,不是跳过去的,而是慢慢的移动过去的。
此方法主要在加载完地图后调用,指定人物加载的X,Y坐标,进行加载。
2.3. 选择移动目的地
1)地图和服务员加载完成后,我们需要选择服务员移动的目的地,选择的方式有很多。举个例子,人人餐厅中客人进来就餐,首先进门后,程序会自动寻找有空位的X,Y坐标,然后计算路线,客人就会沿着路线走进去。同样服务员也会根据客人进来餐厅的循序,以及客人所做的座椅的坐标进行计算路线,然后走过去服务。
2)由于我们只是一个例子,所以就有我们鼠标确定目的地。
this.addEventListener(MouseEvent.CLICK,clickWay);
这个事件通过,用户鼠标点击地图上路线进行调用。
2.4. 路线寻找,人物移动
1)在地图增加完后我们增加一个A*算法实例
AStar是A*算法的一个封装类。我们需要把我们地图上路线和障碍物二维数组传递给算法。
这个是在地图加载后完成
2)确定移动目的地后计算路线
上面代码是在选择目的地后补充的代码
设置A*(asrar)算法的其实点和目的地。起始点和目的地封装成ANode对象给算法的。
ANode 是一个算法计算中节点的保存,记录着节点的位置X,Y,节点ID,以及使用曼哈顿方法计算F = G + H F、G、H值的保存。从而做为路线计算中开启列表进行存储。
最后会调用DoSearch 判断路线的获取是否成功。获取的路线调用astar.aPath 方法进行获取。
启动timer 进行服务员移动操作。
3)服务员移动
在移动服务之前,我们确定,我们寻找到路线,此服务员的上一个路线已经完成。
代码如下:
这个方法是在寻找到路线后,timer启动执行的。bMove 表示是否移动服务员。
player 代表当前移动中的服务员对象,他是在创建服务员的时候保存在全局变量中。
http://blog.csdn.net/liujia9234/article/details/5848325
发表评论
-
flex 自定义多个命名空间以及标签名
2013-01-22 15:21 1265flex 自定义多个命名空 ... -
FLEX中使用AS动态创建DataGrid
2013-01-09 16:24 883FLEX中使用AS动态创建DataGrid 2010年2月6日 ... -
flex与flash之间相互调用
2012-12-12 12:39 609http://www.cnblogs.com/kaixuan/ ... -
Flex与Flex创建的swf通信
2012-12-12 10:16 703加载子SWF的Flex程序代码 <?xml vers ... -
[AS3]加载视频(FLV)文件
2012-12-06 15:11 847[AS3]加载视频(FLV)文件 分类: FLEX/CS3-- ... -
通过FileReference打开本地图片崩溃的解决方法
2012-12-06 14:02 704通过FileReference打开本地图片崩溃的解决方法 最近 ... -
使用FileReference的load()方法加载本地图片
2012-12-06 13:56 8951、要想使用FileReference的load()方法和da ... -
[AS3]Bitmap序列化(将BitmapData保存为原生Binary/ByteArray)
2012-12-06 13:48 747[AS3]Bitmap序列化(将BitmapData保存为原生 ... -
as3 画五角星算法
2012-12-05 16:49 2593as3 画五角星算法 阅读:10次 时间:2012-03- ... -
flex嵌入完整html
2012-11-29 11:18 796有时候我们需要在Flex应用中嵌入HTML代码,根据嵌入HTM ... -
flex4 textArea的htmlText属性
2012-11-29 11:13 3096它现在包含Text布局框架(Text Layout Frame ... -
Tooltip应用
2012-11-29 11:11 698创建ToolTip: var errorToolTip:To ... -
数据绑定显示问题
2012-10-27 12:11 627数据绑定实时变化。 XMLListCollection 可以变 ... -
待解决问题
2012-09-18 23:48 6891.仪表盘 2.渐变填充的使用 3.发光效果的完美运用 能在一 ... -
as3加载外部图片的两种方式
2012-09-09 11:46 983package net.burchin.loading { ... -
公式as3
2012-09-06 18:13 0as3 1人收藏此文章, 我要收藏 发表于1年前(2011-0 ... -
Flex中多线程的实现
2012-09-06 10:49 3465破阵子_如是我闻 如是我闻。一时佛在舍卫国,祗树给孤独园.. ... -
自定义column renderer
2012-08-09 15:07 893<?xml version="1.0" ... -
drowshadowFilter
2012-08-09 15:05 645DropShadowFilter 类,在Flash中为各种对象 ... -
123123
2012-08-08 17:16 0http://www.oschina.net/code/sni ...
相关推荐
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 as3 遮罩的使用例子
该项目提供flex调用百度地图,并提供相关实例
flex flash game 游戏 demo 45度游戏demo flex flash game 游戏 demo 45度游戏demo flex flash game 游戏 demo 45度游戏demo
flash as3 技术文档flash as3 技术文档flash as3 技术文档flash as3 技术文档flash as3 技术文档flash as3 技术文档flash as3 技术文档
这个是我按网上的GoogleMap教程自己制作的实例,开发环境为Flex Bulider3,其中还包含一些Flex下绘制矢量图形的小示例,相关教程大家可以在网上搜索,很多。下载后可以直接导入运行。
flex rpg 网页游戏 as 寻路算法
flash人物走动与场景自动滚屏as3 flash工发的小游戏的源代码
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 园 线
flash图片3D翻转效果,源文件,带源码,和例子
学习flex/as3不错的入门资料,强烈推荐
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 iframe 支持在flash中嵌套入html jsp asp php等flex iframe 支持在flash中嵌套入html jsp asp php等flex iframe 支持在flash中嵌套入html jsp asp php等flex iframe 支持在flash中嵌套入html jsp asp php等flex...
flex arcgis 加载天地图2.0地图源码
第一章 Flex简介和开发环境 第二章 AS3语法 第三章 事件驱动 第四章 自定义事件 第五章 数据绑定 第六章 样式表和主题 .....实习之
flex as3zip 文件解压
flex as3 帮助文档 pdf格式 flex as3 帮助文档