Project1
标题: 如何用一行脚本实现让事件回到它的初始位置? [打印本页]
作者: 纯属小虫 时间: 2021-7-22 20:23
标题: 如何用一行脚本实现让事件回到它的初始位置?
本帖最后由 纯属小虫 于 2021-7-22 21:51 编辑
想要用一行脚本实现:让事件回到它的初始位置
请问如何获取事件初始坐标的变量,事件的x,y坐标数据是储存在哪里?

感谢 RPGzh500223 问题已经解决
高手的脚本就是简洁而美丽...感动
在 Game_Map 新增定义
class Game_Map
#让事件回到自己的最初位置
def ini_event_xy
@events.each{|k, v|v.moveto(@map.events[k].x, @map.events[k].y)}
end
end
class Game_Map
#让事件回到自己的最初位置
def ini_event_xy
@events.each{|k, v|v.moveto(@map.events[k].x, @map.events[k].y)}
end
end
事件脚本或设置移动路线脚本中使用
作者: 任小雪 时间: 2021-7-22 20:38
事件都可以实现,存在变量里,多个的话可以用脚本。
另外,出图再进图好像各事件坐标是会重置的(实测)
作者: 纯属小虫 时间: 2021-7-22 20:51
本帖最后由 纯属小虫 于 2021-7-22 21:28 编辑
主要是为了图方便,想要一句脚本就能解决回到原点,并且是可以进行事件批量复制后还不用更改的
想获取载入地图时,事件的XY坐标
这样就可以在事件移动了之后,还能快捷地让它回到它最开始的位置(制作飞镖陷阱之类的)
之前试过用 moveto ($game_map.events[self.id].x,$game_map.events[self.id].y) 但这个是获取事件当前的位置,没法让它回到原点
作者: RPGzh500223 时间: 2021-7-22 21:25
本帖最后由 RPGzh500223 于 2021-7-22 21:56 编辑
一行……
- class Game_Map; def ini_event_xy; @events.each{|k, v|v.moveto(@map.events[k].x, @map.events[k].y)}; end; end
复制代码
数据存在地图里 比如1号地图数据就在“Data/Map001.rxdata”
既然有赞就完善一下方法(支持单个事件位置的初始化)
class Game_Map
def ini_event_xy(id = -1, *ids)
if id == -1
@events.each{|k, v|v.moveto(@map.events[k].x, @map.events[k].y)}
return
end
(ids << id).each do |i|
next if (_event = @events[i]) == nil
_event.moveto(@map.events[i].x, @map.events[i].y)
end
end
end
class Game_Map
def ini_event_xy(id = -1, *ids)
if id == -1
@events.each{|k, v|v.moveto(@map.events[k].x, @map.events[k].y)}
return
end
(ids << id).each do |i|
next if (_event = @events[i]) == nil
_event.moveto(@map.events[i].x, @map.events[i].y)
end
end
end
作者: 纯属小虫 时间: 2021-7-22 21:30
本帖最后由 纯属小虫 于 2021-7-22 21:33 编辑
哈哈,感谢灵感给予,还是应该从地图数据入手
我试了一个粗暴的方法,虽然要不断重新读取地图数据,不过至少能够成功了
map_id = 311; map = load_data(sprintf("Data/Map%03d.rxdata", map_id)); moveto(map.events[self.id].x, map.events[self.id].y)
map_id = 311; map = load_data(sprintf("Data/Map%03d.rxdata", map_id)); moveto(map.events[self.id].x, map.events[self.id].y)
不过还有个问题就是,map_id = 311 这个还是手动输入的,因为这行脚本要写在设置移动路线里头,有没有办法在“设置移动路径”中获取当前地图的ID?
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |