Project1

标题: Game_Event下的def中如何代入本事件地图坐标? [打印本页]

作者: 解放军    时间: 2013-12-14 21:56
标题: Game_Event下的def中如何代入本事件地图坐标?
实在抱歉啊 万不得已才发帖问这么弱智的问题的。。。
比如:把本事件的x坐标代入变量1
Game_Event
def 9999
   $game_variables[1] == (这里不会写)
end
end
作者: 你最珍贵    时间: 2013-12-14 22:26
  1.   class Event
  2.     def initialize(x, y)
  3.       @id = 0
  4.       @name = ""
  5.       @x = x
  6.       @y = y
  7.       @pages = [RPG::Event::Page.new]
  8.     end
复制代码
这样貌似可以吧
作者: 774741359    时间: 2013-12-15 00:36
首先,数字不可作为标示符首位,def 9999 本身是错误的。
$game_variables[1] = self.x
或者
$game_variables[1] = @x

补充一下,在自定义行走路线中,@x直接代表本事件的坐标x
作者: 天地有正气    时间: 2013-12-17 18:00
LZ不妨在那个Game_xxx就是那个有七个定义的事件解释器里定义。。
作者: 天地有正气    时间: 2013-12-27 10:37
我来给LZ一个脚本。(原谅连贴吧)
  1. class Interpreter
  2.   def get_event(event_id,x_id,y_id)
  3.     $game_variables[x_id] = $game_map.events[event_id].x
  4.     $game_variables[y_id] = $game_map.events[event_id].y
  5.   end  
  6. end
复制代码
非常简单的一段代码,使用时要这样在事件脚本中输入:
  1. get_event(事件ID,x坐标变量,y坐标变量)
复制代码
例如get_event(3,5,6)就是将3号事件的地图x值和地图y值分别带入变量5号和变量6号。
本脚本有个小缺陷就是不支持事件ID输入0时代表本事件,也不支持获得主角坐标(很简单改一下就可以了),LZ应该有脚本基础,自己改一下应该会的,我去研究如何输入0是代表本事件了~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1