Project1
标题:
关于一个ARPG带宠物攻击的效果
[打印本页]
作者:
兔毛鹿
时间:
2009-6-3 17:38
标题:
关于一个ARPG带宠物攻击的效果
角色带一个宠物,平时为接近主角,假设地图中1号~10号事件是敌人,并行处理当1号~10号事件中某一个与宠物事件的坐标差绝对值小于5,宠物事件就自动接近敌人事件攻击,那么如何让宠物事件自动接近敌人事件呢?? [LINE]1,#dddddd[/LINE]
此贴于 2009-6-9 5:01:10 被版主darkten提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
TLF
时间:
2009-6-4 05:40
顶一下,我也求此问题解答……
作者:
SeRiKa
时间:
2009-6-7 21:16
提示:
作者被禁止或删除 内容自动屏蔽
作者:
魔幻预言者
时间:
2009-6-8 01:29
提示:
作者被禁止或删除 内容自动屏蔽
作者:
qqp987987
时间:
2009-6-8 02:42
提示:
作者被禁止或删除 内容自动屏蔽
作者:
★_茄孓
时间:
2009-6-8 02:53
范例:
http://rpg.blue/upload_program/d ... ect60_124829740.rar
在main前放上该脚本:
class Game_Character
#--------------------------------------------------------------------------
# ● 接近某事件
#--------------------------------------------------------------------------
def move_toward_events(id)
# 求得与主角的坐标差
sx = @x - $game_map.events[id].x
sy = @y - $game_map.events[id].y
# 坐标相等情况下
if sx == 0 and sy == 0
return
end
# 求得差的绝对值
abs_sx = sx.abs
abs_sy = sy.abs
# 横距离与纵距离相等的情况下
if abs_sx == abs_sy
# 随机将边数增加 1
rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
end
# 横侧距离长的情况下
if abs_sx > abs_sy
# 左右方向优先。向主角移动
sx > 0 ? move_left : move_right
if not moving? and sy != 0
sy > 0 ? move_up : move_down
end
# 竖侧距离长的情况下
else
# 上下方向优先。向主角移动
sy > 0 ? move_up : move_down
if not moving? and sx != 0
sx > 0 ? move_left : move_right
end
end
end
end
复制代码
以上其他效果都达到的话,让某事件接近某事件应该可以用:
假设 敌人事件id为x
在宠物事件并行处理 写上脚本
$game_map.events[@event].move_toward_events(x)
这样就可以让宠物事件接近敌人事件了
[LINE]1,#dddddd[/LINE]
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者:
632808263
时间:
2009-10-27 05:26
好东西收下了
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1