- 浏览: 43466 次
- 性别:
- 来自: 北京
最新评论
经过我的优化后,速度比原来快了很多,但比起版主的还是慢.还要继续努力.不过终于是入AS3的门了.
var w:uint = 60;//地图横节点个数
var h:uint = 35;//地图纵节点个数
var r:uint = 10;//节点的长宽
var isEight:Boolean = true;//是否为八方向寻路
var time:uint;//记录时间
var field:MovieClip=new MovieClip();//地图
addChild(field);
var allNode:Array = new Array();//所有节点
var start_Piont:MovieClip;//寻路出发点
var end_Piont:MovieClip;//寻路目的地
var open_arr:Array;//开放列表
var block_arr:Array;//关闭列表
var path_arr:Array;//路径
var fail:Boolean = false;//是否找到路径
var isRun:Boolean = false;//是否正在寻路
init(field);
type_mc.addEventListener(MouseEvent.CLICK, typeHandler);
reset_mc.addEventListener(MouseEvent.CLICK, resetHandler);
//初始化地图
function init(field:MovieClip) {
for (var y:uint=0; y.25||(x==0&&y==0)?1:2);
//如果可以通过就添加点击事件
if (allNode[y][x].currentFrame == 1) {
allNode[y][x].addEventListener(MouseEvent.CLICK, setEndPiont);
}
}
}
field.x = 30;//Math.floor((stage.stageWidth-field.width)/2);
field.y = 10;//Math.floor((stage.stageHeight-field.height)/2)-10;
}
//节点被点击时之事件
function setEndPiont(e:MouseEvent):void {
if (!isRun) {
isRun = true;
//清除之前计算的节点
for (var y:uint=0; y2) {
allNode[y][x].gotoAndStop(1);
}
}
}
//开始计时
time = getTimer();
open_arr = new Array();
block_arr = new Array();
path_arr = new Array();
//如果是第一次寻路,出发点是左上角,否则是上一次寻路的终点
start_Piont = end_Piont == null ? allNode[0][0] : end_Piont;
end_Piont = e.currentTarget;
//开始寻找
checkNeighbor(start_Piont);
}
}
//检测周围的节点
function checkNeighbor(node:MovieClip):void {
var thisNode:MovieClip = node;//当前正在检测的节点
var getEnd:Boolean = false;//是否找到目的地
//循环直到找到目的地
while (!getEnd) {
//将当前正在检测的节点存入关闭列表
block_arr.push(thisNode);
var checkList:Array = new Array();//当前节点的周围
//如果是八方向寻路,就加入四个角
if (isEight) {
if (thisNode.py>0 && thisNode.px>0) {
checkList.push(allNode[(thisNode.py-1)][(thisNode.px-1)]);
}
if (thisNode.py0) {
checkList.push(allNode[(thisNode.py+1)][(thisNode.px-1)]);
}
if (thisNode.py>0 && thisNode.px
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/548.html
发表评论
-
MovieClipLoader的一个小例子教程(动态加载图片的进度条)
2010-04-10 13:28 734var myloader:MovieClipLoader ... -
使用flash MovieclipLoader & ProgressBar打造下载图片
2010-04-10 13:28 664今日试要做一个图片下 ... -
使用flash MovieclipLoader & ProgressBar打造下载图片
2010-04-10 13:28 716今日试要做一个图片下 ... -
一个flash loading效果
2010-04-10 13:27 706在公司里做动画时候做的一个loading的效果,可以参考但不要 ... -
非常棒的loading制作教程
2010-04-10 13:27 524首先,想说一下我写此文的动机。记得很早之前我曾经说过“没有l ... -
我对as3声音架构的理解
2010-04-09 13:53 332一直都对as3的声音架构 ... -
as3.0游戏开发之打气球系列(一)
2010-04-09 13:53 311好久没有写正经的文章 ... -
as3按钮事件
2010-04-09 13:53 463在刚开始学As3时,如果不知道按钮的事件如onPress的话 ... -
【as3】ActionScript 3.0体验试教学视频教程
2010-04-09 13:53 560很不错的视频教程 原文地址: http://blog.sina ... -
as3 使用sound类(翻译)-暂停和继续播放声音
2010-04-09 13:52 731[1b]问题十[/1b] 如何暂停声音,如何从暂停的地 ... -
Coding ActionScript 3.0系列[4] 外部swf库资源载入及使用
2010-04-09 11:44 814[1b]关于 Coding ActionScript 3.0 ... -
flash AS3 的Dictionary 对象测试
2010-04-09 11:44 697as3提供一个Dictionary 对象,它和Object有 ... -
flash AS3 的Dictionary 对象测试
2010-04-09 11:44 1361as3提供一个Dictionary 对象,它和Object有 ... -
Flash Player8 ActiveX 读取本地中文文件夹文件错误问题
2010-04-09 11:43 785这个问题只存在与Flash Player8及以上版本,如果将 ... -
Flash Player8 ActiveX 读取本地中文文件夹文件错误问题
2010-04-09 11:43 774这个问题只存在与Flash Player8及以上版本,如果将 ... -
完整把握Flash动画设计的知识体系
2010-04-08 11:15 757一个正确的知识体系 ... -
完整把握Flash动画设计的知识体系
2010-04-08 11:15 647一个正确的知识体系 ... -
flash打造阳光,鲜花,小草动起来,
2010-04-08 11:14 1006[url=http://www.7880.com/Uploa ... -
flash打造阳光,鲜花,小草动起来,
2010-04-08 11:14 877[url=http://www.7880.com/Uploa ... -
美女遮罩效果
2010-04-08 11:14 688效果预览: 教程原文: 打包文件 源码下载 本文转自:http ...
相关推荐
没积分了,下不了资源,只求一分,A*寻路算法 源码 c#
使用javascript在cocos creator上实现了A*寻路算法,使用方块格表示起始点以及障碍路径等,动态调整行列数,障碍物密度,初始点坐标,实现鼠标点击计算起始点到点击位置方块的路径。
六边形A*寻路算法源码(As3版本)在六边形战棋类游戏中可以使用
Python2.x版的A*寻路算法,实现了基本的A*算法,可以显示寻路图,测试运行pathFinder.py,输入地图文件a_map.txt,起点7,0 终点7,9
下载本程序仅可演示A*自动寻路算法实现(java),该程序是基于我写的网络版贪吃蛇基础上编写的(网络版贪吃蛇...wasd键控制太阳的方向,鼠标左击目的地,会根据A*自动寻路算法计算出一条最优路线,太阳按最优路线移动。
A*寻路算法实现,模拟寻路算法,描述了A*寻路算法的具体实现可以在unity运作文件,可以到看到A*寻路算法的原理
基于Unity5.4.4版本,随机障碍物,动态实现寻路,UnityA星寻路完整Demo
A*寻路算法,提供顶点信息矩阵和移动消耗矩阵,返回最短路径顶点列表
C# A*寻路算法 带测试界面
AS3最好的A*寻路算法 (优化去除多余拐点并能寻找障碍最近可行走点)
A*算法是自动寻路的理想解决办法 像自动寻找NPC 自动寻找地图出口 我写的这个只是简单的实现了功能 在运算效率上没有做优化 在接下来的版本中我会增加二*堆算法 来提高A*算法的效率 请大家多多关注 包中还有一个我用...
A*寻路算法,只是保证在低消耗的情况在最短的时间找出路径,但A*寻路算法寻出来的路不一定是最近,但也绝对不会远的离谱,可也不排除你对路径评分算法的优化可以做到最快最短最低消耗,或者对最终路径的优化来达到...
unity A*寻路插件 A Pathfinding Project Pro v3.7.unitypackage
A*走路 自动寻路A*算法 易语言源码优化版 A*走路 自动寻路A*算法 易语言源码优化版 A*走路 自动寻路A*算法 易语言源码优化版
详细的介绍了A*寻路算法,并且在unity中进行效果实现。
NULL 博文链接:https://chaimzane.iteye.com/blog/1629053
a*寻路例子
a*寻路算法, 八方向 ,c++ 二叉堆 实现,vs2010下可直接编译运行 可用于游戏寻路等 注:这是某开源代码的修正版,原版有错误和无意义代码,不能发就算了
a*寻路算法ios实现过程,用简练的代码最容易的说明问题全部; 描述:带2叉堆的A*寻路算法,地图为30*20的方格,可点击更换地图,可指定起始点和目的地。 因为是用以前自己参加acm时的代码,所以数据计算部分使用的...