扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 189|回复: 0

[转载发布] 找到一个状态动画插件,求教怎么让动画循环

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    2025-3-29 03:52
  • 签到天数: 127 天

    连续签到: 11 天

    [LV.7]常住居民III

    2350

    主题

    420

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    11311
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    14109

    灌水之王

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

                本帖来自P1论坛作者RM无节操小分队,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=388679  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2025-4-20 20:37 , Processed in 0.134731 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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