查看: 1780|回复: 3

[已经解决] 怎么用代码实现事件功能

[复制链接]
梦石
0
星屑
50
在线时间
85 小时
注册时间
2011-3-6
回帖
36
发表于 2016-12-14 16:36:18 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 weew163com 于 2016-12-14 17:15 编辑

最近在试着鼓捣脚本
需要下面的功能:
变量指定的事件移动到变量指定的坐标 并且面向也可以指定

事件本身有移动的功能但是不能用变量指定要移动的事件
所以想用代码来完成
自己写的是这样:

[pre lang="ruby"]m = 69 + $game_variables[21]
x = $game_variables[5]
y = $game_variables[6]
$game_map.events[m].moveto( x, y  )[/pre]

貌似是可以移动了 但是不知道怎么指定朝向阿 求指教

顺便问一下有没有专门写怎么 用脚本来实现事件可以做到的事的教程吗?
比如要开启战斗啦、设置移动路线拉这种。

评分

参与人数 1星屑 +50 收起 理由
RaidenInfinity + 50 结帖

查看全部评分

无限の剣制

梦石
0
星屑
10445
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2016-12-14 16:58:28 | 显示全部楼层
口糊,未测试
设置朝向
  1. d=2 #朝向2,4,6,8 如果有用八方向脚本1,3,5,7也是可以的
  2. $game_map.events[m].set_direction(d)
复制代码

另外事件里写事件脚本的话,可以使用
  1. #param : -1 则玩家、0 则本事件、其他 则是指定的事件ID
  2.   get_character(param)
复制代码
来获取事件
再另外你也可以把这个操作封装成一个方法放在 Game_Interpreter 类里面。需要的时候直接调用
例如
  1. class Game_Interpreter
  2.   def set_character_pos(id,x,y,d)
  3.     character = get_character(id)
  4.     return unless character
  5.     character.moveto(x, y)
  6.     character.set_direction(d)
  7.   end
  8. end
复制代码

事件里调用
  1. v=$game_variables
  2. set_character_pos(69+v[21],v[5],v[6],v[7])
复制代码

点评

开启战斗啦、设置移动路线这些都可以在原脚本里面找到,你只要理解参数的意思,该对什么对象,直接调用对应的方法就可以了  发表于 2016-12-14 17:01

评分

参与人数 1梦石 +1 收起 理由
RaidenInfinity + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
85 小时
注册时间
2011-3-6
回帖
36
 楼主| 发表于 2016-12-14 17:14:46 | 显示全部楼层
VIPArcher 发表于 2016-12-14 16:58
口糊,未测试
设置朝向
另外事件里写事件脚本的话,可以使用 来获取事件

哦哦感谢!
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部