设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3343|回复: 5
打印 上一主题 下一主题

VX用寻路算法.

 关闭 [复制链接]

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

跳转到指定楼层
1
发表于 2008-2-26 20:08:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
在如下脚本基础上更改,版权归原作者所有.

http://rpg.blue/web/htm/news457.htm

四方向修改:
def fp_passable?(x, y, d)  #开始判定通行
    new_x = x + (d == 6 ? 1 : d == 4 ? -1 : 0)
    new_y = y + (d == 2 ? 1 : d == 8 ? -1 : 0)
    return true if $game_player.passable?(nex_x, new_y)
    return false
end  #结束判定通行


八方向修改:
def fp_passable?(x, y, d)  #开始判定通行
    sx = d % 3 ; sy = (d - 1) / 3
    new_x = x + ((sx == 0) ? 1 : (sx == 1) ? -1 : 0)
    new_y = y + ((sy == 0) ? 1 : (sy == 2) ? -1 : 0)
    return true if $game_player.passable?(nex_x, new_y)
    return false
end  #结束判定通行



纵然千里外,我等雁归来。

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

2
发表于 2008-2-26 20:31:23 | 只看该作者
转移到vx技术区……嗯嗯
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1624
在线时间
1609 小时
注册时间
2007-8-28
帖子
3253

第3届短篇游戏大赛主流游戏组冠军第1届Title华丽大赛新人奖

3
发表于 2008-2-26 21:39:51 | 只看该作者
这个寻路算法计算起来有些慢,只有主人公的时候还好
即时战略的游戏需要计算每个单位的时候,计算缓慢。
我这有另一种算法,在xp下面运转的很不错,就是移植到vx上有bug怎么也改不了。{/dk}
“我推荐你一个游戏吧,avg的,剧情特感人”
“我擦,都是文字图片的游戏有啥好玩的,连个战斗都没有!”
“我推荐你一个游戏吧,rpg的,战斗也新颖”
“我擦,怎么米有作i弊器?“
”你不是喜欢战斗么?”
“不,我是剧情党!!”

继续阅读请点击
http://rpg.blue/blog-53316-10027.html
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

4
 楼主| 发表于 2008-2-27 04:58:31 | 只看该作者
以下引用柳之一于2008-2-26 13:39:51的发言:

这个寻路算法计算起来有些慢,只有主人公的时候还好
即时战略的游戏需要计算每个单位的时候,计算缓慢。
我这有另一种算法,在xp下面运转的很不错,就是移植到vx上有bug怎么也改不了。


那个是比较标准的A*,对于即时来说,一般不可能是每个单位都寻路的,而是根据执行范围进行区域划分,对统一区域的单位,之后一个是寻路,其他为跟随,另外根本各自游戏的地形等其他特征,还是有其他取巧的方式,例如对角线寻路等。

XP与VX在程序运行上似乎不存在逻辑冲突— —
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

有事烧纸

梦石
0
星屑
154
在线时间
509 小时
注册时间
2005-10-22
帖子
6982

贵宾VX城市地图大赛冠军第1届RMTV比赛冠军第1届TG大赛冠军

5
发表于 2008-2-27 16:28:05 | 只看该作者
要加快求值方法的话,可以用二叉堆存入开启列表

另外还有就是减少循环,加快搜索速度,设置默认不可通行区域什么的
还有个办法是分层实现高速寻路,先宏观搜索大致路径,靠近目标时再微观搜索精确路径,这个办法可以处理点较多的情况(500*500这样的地图)

不过rm效率上的问题,肯定结果还是比较慢的。。。。。。
实习上,我觉得rm不适合用A*,应该用些低级的但是更加高效的寻路
神隐中,偶尔诈尸
回复 支持 反对

使用道具 举报

Lv1.梦旅人

雷欧纳德的宠物

梦石
0
星屑
50
在线时间
769 小时
注册时间
2006-8-6
帖子
3778

贵宾

6
发表于 2008-8-8 02:53:46 | 只看该作者
打酱油的- -b
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 14:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表