楼主: UU_sky

[已经解决] 如何让事件碰到主角执行命令

[复制链接]
梦石
0
星屑
50
在线时间
2 小时
注册时间
2013-2-16
回帖
9
 楼主| 发表于 2013-2-17 23:22:20 | 显示全部楼层
UU_sky 发表于 2013-2-17 23:16
进可是进入事件3x3范围内就触发了呀

我已经解决了,谢谢你了
回复

使用道具 举报

梦石
0
星屑
50
在线时间
2 小时
注册时间
2013-2-16
回帖
9
 楼主| 发表于 2013-2-17 23:24:48 | 显示全部楼层
945127391 发表于 2013-2-17 23:20
我没听懂……请说清楚一点

你那样写的话进入事件的3x3范围内就会执行。弄成这样,就是正常范围触碰了
  #----------------------------------------------------------------------------
   # * 事件-角色碰撞判断
  #----------------------------------------------------------------------------
  def event_player_collide(event_id)
    return true if @events[event_id].x == $game_player.x - 0 and @events[event_id].y == $game_player.y # 左侧
    return true if @events[event_id].x == $game_player.x + 0 and @events[event_id].y == $game_player.y # 右侧
    return true if @events[event_id].x == $game_player.x and @events[event_id].y == $game_player.y - 0 # 上方
    return true if @events[event_id].x == $game_player.x and @events[event_id].y == $game_player.y + 0 # 下方
    return false
  end

点评

+0-0和没加没减有什么区别?  发表于 2013-2-17 23:36
回复

使用道具 举报

梦石
0
星屑
48
在线时间
841 小时
注册时间
2010-8-11
回帖
1029
发表于 2013-2-17 23:41:04 | 显示全部楼层
UU_sky 发表于 2013-2-17 23:24
你那样写的话进入事件的3x3范围内就会执行。弄成这样,就是正常范围触碰了
  #------------------------- ...


+0或-0和没加没减有什么区别?
如果是那样的话,我给你发的那个脚本你可以改成:
  1. class Game_Map
  2.   #----------------------------------------------------------------------------
  3.   # * 事件-角色碰撞判断
  4.   #----------------------------------------------------------------------------
  5.   def event_player_collide(event_id)
  6.     return true if @events[event_id].x == $game_player.x and @events[event_id].y == $game_player.y
  7.     return false
  8.   end
  9. end
复制代码
了。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部