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

Project1

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

[已经解决] 要怎么样实现追赶效果呢?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
338 小时
注册时间
2014-7-15
帖子
593
跳转到指定楼层
1
发表于 2014-11-17 22:36:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
比如在事件移动里面,有接近和随机移动还有自定义移动,但是我希望实现的是比如角色追某个事件,角色是由玩家自己控制的,但是被追的那个事件也会相应的智能移动,比如靠近事件某个范围以内的时候,事件就开始移动,是不是只有靠脚本用坐标锁定来实现?

Lv3.寻梦者

梦石
0
星屑
1845
在线时间
367 小时
注册时间
2012-12-10
帖子
427
2
发表于 2014-11-17 23:36:53 | 只看该作者
事件如果一开始是固定或在一个固定的范围内的话,在它周围弄几个事件,与主角接触时开启开关1号(这个至于是几号你自己决定也行),敌人的第二个事件页开启条件就是1号开关,这一页的设置就是靠近主角、、、频率和速度就自己设置了。
如果是随机移动的……就不用看了。。。。

评分

参与人数 1星屑 +66 收起 理由
hys111111 + 66 感谢回答

查看全部评分

『我对你矢志不渝。』
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

3
发表于 2014-11-18 11:50:20 | 只看该作者
move_toward_player是接近角色的意思
move_random是随机移动的意思
远离角色是move_away_from_player,在Game_Character 3可以知道
  1. #==============================================================================
  2. # ■ Game_Character (接近专定义)
  3. #------------------------------------------------------------------------------
  4. #  处理角色的类。本类作为 Game_Player 类与 Game_Event
  5. # 类的超级类使用。
  6. #==============================================================================
  7. # 使用方法:
  8. # 在设置事件移动那里改为自定义,路线为:toward_player_add(x范围,y范围)
  9. #==============================================================================
  10. class Game_Character
  11. def toward_player_add(x = 1,y = 1)
  12. # 求得与主角坐标的差
  13. sx = (@x - $game_player.x).abs
  14. sy = (@y - $game_player.y).abs
  15. if sx <= x and sy <= y
  16. move_toward_player
  17. @move_speed = @last_speed  + 2

  18. else
  19. move_random
  20. end
  21. end
  22. end
复制代码

点评

if sx <= x and sy <= y,意思是当怪的坐标和角色的坐标差小于或者等于视角范围时,就进行以下行为  发表于 2014-11-20 11:48
这个脚本里的那个随机移动是设在怪没发现人的时候启动的。你可以在上面加一句,来判断。SX是怪的坐标,X视角。$game_player.x是角色坐标。  发表于 2014-11-20 11:47
代码没问题,主要是当人物速度过快追上后,就不触发随机移动了  发表于 2014-11-19 23:39
这种高级问题我就不知道了。我只是搬运别人的脚本过来而已,呵呵。  发表于 2014-11-19 23:34
现在的问题是,把对方逼入死角,对方就跑不了  发表于 2014-11-19 23:08
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

4
发表于 2014-11-20 12:02:32 | 只看该作者
比如说在if sx <= x and sy <= y下面插入这句话。那么意思就是当两人的距离在视角范围内,怪物远离角色,而且距离是2的时候,怪物从右向左旋转 90 度

turn_random随机变换方向
turn_180旋转 180 度
jump(x_plus, y_plus)跳跃
move_down向下移动
这些在默认的脚本中都可以看到,比如Game_Character 3
  1. sx = (@x - $game_player.x).abs
  2. sy = (@y - $game_player.y).abs
  3. if sx <= x and sy <= y
  4. if sx = 2 and sy = 2
  5. turn_right_or_left_90
  6. end
  7. move_away_from_player
  8. @move_speed = @last_speed  + 2
复制代码

评分

参与人数 1星屑 +300 梦石 +1 收起 理由
hys111111 + 300 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
138 小时
注册时间
2012-7-2
帖子
173
5
发表于 2014-11-20 12:34:25 | 只看该作者
今天刚刚需要做到这个效果,
遇到个问题是:单纯设置事件远离角色的话,它跑到墙角就不会拐头也不会动了。这个不知道怎么解决
我只属于我一个人的世界~~~
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

6
发表于 2014-11-20 12:40:57 | 只看该作者
z2214557w 发表于 2014-11-20 12:34
今天刚刚需要做到这个效果,
遇到个问题是:单纯设置事件远离角色的话,它跑到墙角就不会拐头也不会动了。 ...

一定几率随机移动,一定几率远离角色

评分

参与人数 1星屑 +200 收起 理由
hys111111 + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
138 小时
注册时间
2012-7-2
帖子
173
7
发表于 2014-11-20 12:44:34 | 只看该作者
taroxd 发表于 2014-11-20 12:40
一定几率随机移动,一定几率远离角色


能不能具体一点?
前面看了些用坐标判定的办法,就是角色进入一定范围就远离,不在范围就随机,
但是你一直追它,保持在范围之内的话,仍然避免不了逼到墙角就不动的现象。
我只属于我一个人的世界~~~
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

8
发表于 2014-11-20 12:48:24 | 只看该作者
z2214557w 发表于 2014-11-20 12:44
能不能具体一点?
前面看了些用坐标判定的办法,就是角色进入一定范围就远离,不在范围就随机,
但是你一 ...

角色进入一定范围之后,随机选择“远离”或“随机”。当然选择两者的概率不用相等。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
138 小时
注册时间
2012-7-2
帖子
173
9
发表于 2014-11-20 16:30:16 | 只看该作者
yang1zhi 发表于 2014-11-20 12:02
比如说在if sx

唉,最重要的一点没法解决啊,逼到墙角仍然就发呆了{:2_264:}

点评

再加入随机变量,就能在那个位置实现多种情况的移动,么么哒  发表于 2014-11-20 20:33
您真醒目~~好办法!  发表于 2014-11-20 20:07
识别卡主地方的坐标,当事件在那个位置的时候,用事件移动。  发表于 2014-11-20 20:05
求你帮帮我~~~  发表于 2014-11-20 19:56
我已经想到办法了  发表于 2014-11-20 19:49
我只属于我一个人的世界~~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
338 小时
注册时间
2014-7-15
帖子
593
10
 楼主| 发表于 2014-11-20 18:48:45 | 只看该作者
yang1zhi 发表于 2014-11-18 11:50
move_toward_player是接近角色的意思
move_random是随机移动的意思
远离角色是move_away_from_player,在Ga ...

我感觉不管怎么弄,事件总还是会卡主,你们做的是不是也会这样?我感觉无解了

点评

请教教我吧~  发表于 2014-11-20 19:57
是的。我在做的是捕捉宠物的剧情,追上去接触到宠物就把它收了。现在没法解决到墙角就不动的难题  发表于 2014-11-20 19:33
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-11 23:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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