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

Project1

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

[已经过期] 找到一个状态动画插件,求教怎么让动画循环

[复制链接]

Lv1.梦旅人

梦石
0
星屑
75
在线时间
231 小时
注册时间
2014-10-5
帖子
296
跳转到指定楼层
1
发表于 2016-1-24 17:21:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
外站上找到一个插件,作用是在战斗场景,
如果附加了某个状态,会播放一个动画,
在这个状态消失的时候,播放另外一个动画,
我感觉这个插件是一个很大的启发,
如果,
在这个插件的基础上,
把播放的这个动画设置成无限循环播放,
然后在状态消失,播放另一个动画的时候停止,
这样不就可以做出来累死大话梦话那样的状态动画了吗?
求大神来帮忙看看插件,怎么设置动画循环我不会写,
插件指令
在状态的注释里面写:
<state add animation: 125 />  在附加这个状态时候,播放125号动画
<state remove animation: 126 /> 在状态消失的时候,播放126号动画
JAVASCRIPT 代码复制
  1. var Imported = Imported || {} ;
  2. var TH = TH || {};
  3. Imported.StateChangeAnimations = 1;
  4. TH.StateChangeAnimations = TH.StateChangeAnimations || {};
  5.  
  6. (function ($) {
  7.  
  8.   $.stateAddRegex = /<state[-_ ]add[-_ ]animation:\s*(\d+)\s*\/>/im
  9.   $.stateRemoveRegex = /<state[-_ ]remove[-_ ]animation:\s*(\d+)\s*\/>/im
  10.  
  11.   $.stateAddAnimation = function(state) {
  12.     if (state.stateAddAnimation === undefined) {
  13.       data = {id: 0, mirror: false, delay: 0};
  14.       var res = $.stateAddRegex.exec(state.note);
  15.       if (res) {
  16.         data.id = Math.floor(res[1]);
  17.       }
  18.       state.stateAddAnimation = data;
  19.     }
  20.     return state.stateAddAnimation;
  21.   };
  22.  
  23.   $.stateRemoveAnimation = function(state) {
  24.     if (state.stateRemoveAnimation === undefined) {
  25.       data = {id: 0, mirror: false, delay: 0};
  26.       var res = $.stateRemoveRegex.exec(state.note);
  27.       if (res) {
  28.         data.id = Math.floor(res[1]);
  29.       }
  30.       state.stateRemoveAnimation = data;
  31.     }
  32.     return state.stateRemoveAnimation;
  33.   };
  34.  
  35.   var TH_GameBattlerBase_addNewState = Game_BattlerBase.prototype.addNewState;
  36.   Game_BattlerBase.prototype.addNewState = function(stateId) {
  37.     TH_GameBattlerBase_addNewState.call(this, stateId);
  38.     this.playStateAddAnimation(stateId);
  39.   };
  40.  
  41.   var TH_GameBattlerBase_eraseState = Game_BattlerBase.prototype.eraseState;
  42.   Game_BattlerBase.prototype.eraseState = function(stateId) {
  43.     if (this.isStateAffected(stateId)) {
  44.       this.playEraseStateAnimation(stateId);
  45.     }
  46.     TH_GameBattlerBase_eraseState.call(this, stateId);   
  47.   };
  48.  
  49.   Game_BattlerBase.prototype.playStateAddAnimation = function(stateId) {
  50.     var state = $dataStates[stateId];
  51.     var data = $.stateAddAnimation(state);
  52.     if (data.id > 0) {
  53.       this.startAnimation(data.id, data.mirror, data.delay);
  54.     }
  55.   };
  56.  
  57.   Game_BattlerBase.prototype.playEraseStateAnimation = function(stateId) {
  58.     var state = $dataStates[stateId];
  59.     var data = $.stateRemoveAnimation(state);
  60.     if (data.id > 0) {
  61.       this.startAnimation(data.id, data.mirror, data.delay);
  62.     }
  63.   };
  64. })(TH.StateChangeAnimations);
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-5-11 15:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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