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

Project1

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

[RMXP发布] [xyz]鸡肋小功能rmxp版自动等待动画

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2014-12-19
帖子
111
跳转到指定楼层
1
发表于 2015-1-13 14:52:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 XYZ加农炮 于 2015-1-13 19:37 编辑

都知道va里面显示动画后面可以勾上等待,但xp里没有,于是很多人设置事件时往往还要跑到数据库去看……
本脚本功能是当某个开关(默认5号)开启后,自动等待所有动画。由于太简单短小所以就不用模块装**(bi)了……
暂时没测试出bug,战斗中大概不需要吧……
  1. #==============================================================================
  2. # ** 自动等待事件 by xyz加农炮 **
  3. class Interpreter
  4.   alias wait_command_207 command_207
  5.   def command_207
  6.     wait_command_207
  7.     if $game_switches[5] == true
  8.       o = @parameters[0]
  9.       @parameters[0] = $data_animations[@parameters[1]].frame_max
  10.       command_106
  11.       @parameters[0] = o
  12.     end  
  13.   end
  14. end  
复制代码
已经更新并修复bug了,感谢taroxd和RyanBern的帮助~
X

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

2
发表于 2015-1-13 17:22:49 | 只看该作者
本帖最后由 taroxd 于 2015-1-13 17:25 编辑

不用测试,只看代码估计就有个 bug:同一场游戏中对同一事件执行两次的话,第二次估计没法正常播放出动画

点评

请两位看楼下回复  发表于 2015-1-13 19:33
看来猜对了~  发表于 2015-1-13 17:35
第二次点事件直接RGSS停止工作  发表于 2015-1-13 17:34
同一事件也不能两次播放,因为这个脚本动了数据库的 parameter 数组  发表于 2015-1-13 17:29
我觉得是把同时在不同事件上播放动画的功能去掉了。这样的话永远也不能在不同事件上同时播放了  发表于 2015-1-13 17:28
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2014-12-19
帖子
111
3
 楼主| 发表于 2015-1-13 19:35:29 | 只看该作者
十分感谢两位的回复,之前确实没有测试出来。
但是我这里没有出现RGSS停用的现象?而是不显示动画只有等待。
于是我就修复了一下,记录一下调用前的参数。
至于无法同时播放两个动画,时间原因还没有测试过,估计先关开关播放动画再打开播放动画应该就可以了吧……
再次十分感谢~
X
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33457
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

4
发表于 2015-1-19 23:04:14 | 只看该作者
这个貌似是全局的等待时间,觉得最好还是每个 Game_Character 对象都有一个独立的
动画等待时间的 实例变量。

点评

个人觉得没有这个必要,等待帧数就是全局等待的。  发表于 2015-1-20 18:17

评分

参与人数 1星屑 +140 收起 理由
恐惧剑刃 + 140 我很赞同

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
5
发表于 2015-2-3 21:38:33 | 只看该作者
突然想到一个优化方案!
这是测试事件:
显示动画 本事件, [风 3]
注释 : 等待动画结束
显示动画 本事件, [光 3]

Interpreter中新加方法:
  1. #--------------------------------------------------------------------------
  2. # ● 注释
  3. #--------------------------------------------------------------------------
  4. def command_108
  5.   case @parameters[0]
  6.   when "等待动画结束"
  7.     @wait_count = $game_temp.animation_wait_count * 2
  8.   end
  9.   return true
  10. end
  11. #--------------------------------------------------------------------------
  12. # ● 注释
  13. #--------------------------------------------------------------------------
  14. def command_408
  15.   #p @parameters
  16.   return true
  17. end
复制代码
一个记录 动画ID 的变量
  1. class Game_Temp
  2.   attr_accessor :animation_wait_count # (事件用)动画等待计时
  3. end
复制代码
execute_command 中
添加
  1. when 108  # 注释
  2.   return command_108
  3. when 408  # 注释
  4.   return command_408
复制代码
command_207 中加一行
  1. $game_temp.animation_wait_count = $data_animations[@parameters[1]].frame_max
复制代码

点评

新手不太明白。。。。  发表于 2015-2-4 19:33
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 02:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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