Project1
标题:
怎样让NPC也实现真八方向走?
[打印本页]
作者:
xyxw
时间:
2009-7-11 19:23
标题:
怎样让NPC也实现真八方向走?
本帖最后由 xyxw 于 2009-7-15 16:54 编辑
我用了真·八方向走ver1.1 的脚本,但是只有主角可以实现真八方向行走,使用事件设置NPC的移动路线时,向右上、右下、左上、左下移动时,行走图不会变为斜方向行走图。(素材没有问题)
请问该如何实现NPC的八方向走?
作者:
莳衍灵儿
时间:
2009-7-11 23:39
本帖最后由 莳衍灵儿 于 2009-7-11 23:52 编辑
行走图图片从上到下的面向排列顺序为:下,左,右,上,左下,右下,左上,右上
这个没问题的话就没问题了(已经测试)
直接在NPC的移动路线里设置为自定义然后设置行走方向(如脚本所说,自定义里面使用脚本输入c4或者c8或者自己设置)
蒽~请问下还用了什么别的有冲突可能的脚本吗~
作者:
xyxw
时间:
2009-7-12 18:34
本帖最后由 xyxw 于 2009-7-12 18:35 编辑
谢谢楼上解答,可是我的问题不在于此……
NPC往8方向行走是没问题,但是并没有换成8方向行走图。
比如说,向右上方移动的时候,仍然显示的是向上的行走图。
我新建了一个工程只使用这一个脚本,还是有这个问题。
补充:主角八方行走时完全正常。
作者:
风中承诺
时间:
2009-7-13 12:01
用脚本
http://rpg.blue/web/index.php?doc-view-4006
我不记得是不是这个了,有一个是用四方向的行走图做出八方向走来。
作者:
xyxw
时间:
2009-7-13 12:39
本帖最后由 xyxw 于 2009-7-13 12:58 编辑
我用的就是楼上的那个脚本。
素材图是八方向的,用在主角身上没问题。
但是用在NPC身上就不会显示那四个斜方向的行走图了~
作者:
465889216
时间:
2009-7-13 12:54
提示:
作者被禁止或删除 内容自动屏蔽
作者:
xyxw
时间:
2009-7-13 19:22
自顶一次
作者:
xyxw
时间:
2009-7-14 14:16
自顶
作者:
xyxw
时间:
2009-7-14 19:48
自顶
作者:
xyxw
时间:
2009-7-15 16:55
再自顶
作者:
bbsderek
时间:
2009-7-16 01:09
提示:
作者被禁止或删除 内容自动屏蔽
作者:
ycscycsc
时间:
2009-7-17 11:46
把这段脚本放进去吧,应该对你有用
#==============================================================================
# ■ Game_Event
#------------------------------------------------------------------------------
# 处理事件的类。条件判断、事件页的切换、并行处理、执行事件功能
# 在 Game_Map 类的内部使用。
#==============================================================================
class Game_Event < Game_Character
#..............................................................................
#--------------------------------------------------------------------------
# ● 向左下移动
#--------------------------------------------------------------------------
def move_lower_left
# 没有固定面向的场合
unless @direction_fix
# 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
@direction = 1#(@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
end
# 下→左、左→下 的通道可以通行的情况下
if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
(passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
# 更新坐标
@x -= 1
@y += 1
# 增加步数
increase_steps
end
end
#--------------------------------------------------------------------------
# ● 向右下移动
#--------------------------------------------------------------------------
def move_lower_right
# 没有固定面向的场合
unless @direction_fix
# 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
@direction = 3#(@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
end
# 下→右、右→下 的通道可以通行的情况下
if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 6)) or
(passable?(@x, @y, 6) and passable?(@x + 1, @y, 2))
# 更新坐标
@x += 1
@y += 1
# 增加步数
increase_steps
end
end
#--------------------------------------------------------------------------
# ● 向左上移动
#--------------------------------------------------------------------------
def move_upper_left
# 没有固定面向的场合
unless @direction_fix
# 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
@direction = 7#(@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
end
# 上→左、左→上 的通道可以通行的情况下
if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
(passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
# 更新坐标
@x -= 1
@y -= 1
# 增加步数
increase_steps
end
end
#--------------------------------------------------------------------------
# ● 向右上移动
#--------------------------------------------------------------------------
def move_upper_right
# 没有固定面向的场合
unless @direction_fix
# 朝向是右的情况下适合的面是左面、朝向是上的情况下适合的面是下面
@direction = 9#(@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
end
# 上→右、右→上 的通道可以通行的情况下
if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
(passable?(@x, @y, 6) and passable?(@x + 1, @y, 8))
# 更新坐标
@x += 1
@y -= 1
# 增加步数
increase_steps
end
end
end
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1