查看: 7769|回复: 23

[原创发布] 【RMVA】动画同时播放脚本(搬运+翻译)

[复制链接]
梦石
0
星屑
1643
在线时间
409 小时
注册时间
2012-8-7
回帖
1499
发表于 2012-9-23 22:50:30 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 harinlen 于 2012-9-23 22:53 编辑

今日最后一帖。坐等明天的提醒嗯~

那么,履行一下刚才私的诺言。
众所周知VA在同一个地图内显示多个动画会很卡,而且甚至有的时候根本就看不出来是多个动画。于是私找到了这个脚本,但是原文是西班牙语,然后私对着字典翻译了一下,稍微像了点中国话(至少能看懂)

请保留原作者信息,私的翻译和注释请随便。

(私觉得这个还没有完全的把VA真正的优化到极限,私日后会重写一个的说)

[pre lang="ruby" line="1"]#==============================================================================
# ☆ HAR - Anti Lag (Dispose) Animation (v1.0)
# 日期:2012/09/23
#==============================================================================
# -- 作者:    Moghunter
# -- 翻译:    Harinlen
# -- 等级:    系统底层级
# -- 依赖关系:  无
# -- 适用范围:  RPG Maker VX Ace
# -- 不兼容脚本: 暂无
#==============================================================================
# ☆ 声明
# 此脚本非本人所作,请保留作者信息。
#==============================================================================
# ☆ 用途
# 此脚本将删除锁定(滞后)有关的动画。
#
# 在执行过程中的RPG Maker VX ACE需要相当长的时间读取或删除(配置)。 (图像,声音
# 或视频)。最后结果就是你的游戏变得非常卡,这个脚本的能力就是将动画同时播放。简单
# 的说,就是让动画同时播放的能力。
#==============================================================================
# ☆ 用法
# 在Main前面插入一个脚本页,把此代码扔进去即可。
#==============================================================================
# ☆ 注意
# 此脚本不删除锁定时间的动画效果,只是删除了和时间有所联系的动画效果。
# (雾,原文就是此意思。)
#==============================================================================
  
#===============================================================================
# ■ Game_Temp
#===============================================================================
class Game_Temp
  attr_accessor :animation_garbage
  
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------  
  alias mog_anti_lag_animation_initialize initialize
  def initialize
      @animation_garbage = []
      mog_anti_lag_animation_initialize
  end  
  
end

#===============================================================================
# ■ Game System
#===============================================================================
class Game_System
  
  attr_accessor :anti_lag_animation
  
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------   
  alias mog_antilag_animation_initialize initialize
  def initialize
      @anti_lag_animation = true
      mog_antilag_animation_initialize
  end  
  
end  

#===============================================================================
# ■ SceneManager
#===============================================================================
class << SceneManager
  
  #--------------------------------------------------------------------------
  # ● Call
  #--------------------------------------------------------------------------  
  alias mog_anti_lag_animation_call call
  def call(scene_class)
      mog_anti_lag_animation_call(scene_class)
      dispose_animation_garbage
  end  
  
  #--------------------------------------------------------------------------
  # ● Goto
  #--------------------------------------------------------------------------   
  alias mog_anti_lag_animation_goto goto
  def goto(scene_class)
      mog_anti_lag_animation_goto(scene_class)
      dispose_animation_garbage
  end
  
  #--------------------------------------------------------------------------
  # ● Dispose Animation Garbage
  #--------------------------------------------------------------------------  
  def dispose_animation_garbage
      return if $game_temp.animation_garbage == nil
      for animation in $game_temp.animation_garbage
          animation.dispose
      end  
      $game_temp.animation_garbage = nil
  end  

end

#==============================================================================
# ■ Game Map
#==============================================================================
class Game_Map
  
  #--------------------------------------------------------------------------
  # ● Setup
  #--------------------------------------------------------------------------   
  alias mog_anti_lag_animation_setup setup
  def setup(map_id)
      SceneManager.dispose_animation_garbage
      mog_anti_lag_animation_setup(map_id)
  end

end

#==============================================================================
# ■ Scene Base
#==============================================================================
class Scene_Base
  
  #--------------------------------------------------------------------------
  # ● Terminate
  #--------------------------------------------------------------------------      
  alias mog_anti_lag_animation_terminate terminate
  def terminate
      mog_anti_lag_animation_terminate
      SceneManager.dispose_animation_garbage
  end
  
end

#==============================================================================
# ■ Sprite Base
#==============================================================================
class Sprite_Base < Sprite  

  #--------------------------------------------------------------------------
  # ● Dispose Animation
  #--------------------------------------------------------------------------
  alias mog_anti_lag_animation_dispose_animation dispose_animation
  def dispose_animation
      if $game_system.anti_lag_animation  
         execute_animation_garbage  
         return
      end  
      mog_anti_lag_animation_dispose_animation
  end
   
  #--------------------------------------------------------------------------
  # ● Execute Animation Garbage
  #--------------------------------------------------------------------------  
  def execute_animation_garbage  
      $game_temp.animation_garbage = [] if $game_temp.animation_garbage == nil
      if @ani_bitmap1
         @@_reference_count[@ani_bitmap1] -= 1
        if @@_reference_count[@ani_bitmap1] == 0
            $game_temp.animation_garbage.push(@ani_bitmap1)
         end
      end
      if @ani_bitmap2
         @@_reference_count[@ani_bitmap2] -= 1
         if @@_reference_count[@ani_bitmap2] == 0
            $game_temp.animation_garbage.push(@ani_bitmap2)
        end
     end
     if @ani_sprites
        @ani_sprites.each {|sprite| sprite.dispose }
        @ani_sprites = nil
        @animation = nil
     end
     @ani_bitmap1 = nil
     @ani_bitmap2 = nil
  end   
  
end

$rgss3_mog_anti_lag_animation = true[/pre]

点评

不会的啊,不过你发到这小心被伸手党喷。。  发表于 2012-9-23 23:21

评分

参与人数 7星屑 +700 +2 收起 理由
Password + 100 苏君给资助
tang19990919 + 60 几天最后一点
fxwd + 120 精品文章
Mic_洛洛 + 20 来个小糖!
忍まめ + 30 塞糖
迷糊的安安 + 320 塞了个糖!
疯狂异形 + 50 + 2 HAR触!

查看全部评分



梦想

梦石
0
星屑
132
在线时间
1201 小时
注册时间
2012-6-18
回帖
2257
发表于 2012-9-23 22:53:58 | 显示全部楼层
才发现君换头像了啊
看不懂表示压力很大

点评

就是防卡顿脚本,但是这个明显没有认真写= =  发表于 2012-9-23 23:02
回复

使用道具 举报

嗜谎者

梦石
4
星屑
19316
在线时间
4012 小时
注册时间
2010-9-12
回帖
9248

超评测评委极短28评委极短27评委MZ评测员极短26评委极短25评委极短24评委极短23评委极短22评委极短21评委开拓者

发表于 2012-9-23 22:57:03 | 显示全部楼层
如果是并行播放视频那种感觉就好了。。。
复数动画播放啊。。。

点评

确实啊,私在考虑要不要开多绿色线程写个动画= =  发表于 2012-9-23 23:02
回复

使用道具 举报

高冷水

梦石
0
星屑
1069
在线时间
1520 小时
注册时间
2012-7-9
回帖
4542

开拓者

发表于 2012-9-23 22:57:42 | 显示全部楼层
收藏之
——————————
HAR果然是脚本大触啊 VA很缺货 吾等伸手党做好准备了

点评

楼中楼呢~  发表于 2012-9-23 23:23
HAR抬举我了 我知道是渣渣啊 一掀外套大家就知道了 各种知识捉襟见肘啊  发表于 2012-9-23 23:23
这里好热闹。。挤一挤  发表于 2012-9-23 23:19
↓ Tink大木有看出是伸手党啊= =  发表于 2012-9-23 23:13
↓已下 我是有什么下什么 没什么我也不抱怨 呵呵  发表于 2012-9-23 23:04
正在做游戏...
回复

使用道具 举报

梦石
0
星屑
50
在线时间
212 小时
注册时间
2012-3-5
回帖
206
发表于 2012-9-23 22:57:56 | 显示全部楼层
动画是指内置的技能动画还是贴图?贴图类事件跟人物背景可以优化么?

点评

技能动画。没有看到主要改写的是Game_Map和Sprite_Base麼?在地图上同时播放动画(准确地说是播放技能动画)的防卡顿。  发表于 2012-9-23 23:03
回复

使用道具 举报

砂上描绘的愿想<

梦石
15
星屑
4156
在线时间
5078 小时
注册时间
2012-1-15
回帖
4362

开拓者贵宾短篇七成年组亚军剧作品鉴家

发表于 2012-9-23 22:58:53 | 显示全部楼层
0 0 就是防LAG脚本吗?!

点评

↓ 这个E文啦~  发表于 2012-9-23 23:22
我还以为Anti Lag (Dispose) Animation 是西班牙文呢……  发表于 2012-9-23 23:13
安大正解呢~  发表于 2012-9-23 23:04
无明病目虚空见花月 睁眼梦不绝
回复

使用道具 举报

Assassin-K

梦石
0
星屑
4138
在线时间
2281 小时
注册时间
2012-5-23
回帖
3964

贵宾

发表于 2012-9-23 23:03:24 | 显示全部楼层
话说刚一不留神就被LZ的大触手给抓过来
感觉很厉害的说~(喂喂,你懂脚本么=w=)
好吧!先占位,等我学好脚本后再重温(但愿能看懂~喵~)

点评

洛君一定会是个脚本触的!  发表于 2012-9-23 23:04

◆ROZONE◆
>洛子又要去流浪地球了……
>如果你看到我在线,又没动静,那只能说明我在挂机……
回复

使用道具 举报

砂上描绘的愿想<

梦石
15
星屑
4156
在线时间
5078 小时
注册时间
2012-1-15
回帖
4362

开拓者贵宾短篇七成年组亚军剧作品鉴家

发表于 2012-9-23 23:09:13 | 显示全部楼层
脚本盲只能捂面泪奔啊QAQ

好吧…… 被转移到技术区或者地球区就不能水了的说……

点评

那足以说明大大的触手属性了0 0  发表于 2012-9-23 23:30
我只会拼积木不会削木头不会种树 = =~  发表于 2012-9-23 23:14
安大的那个游戏要裱起来膜拜的说= =  发表于 2012-9-23 23:12
同捂泪  发表于 2012-9-23 23:11
所以说私才会发在水区啊~  发表于 2012-9-23 23:11
无明病目虚空见花月 睁眼梦不绝
回复

使用道具 举报

哆啦菌

梦石
0
星屑
46
在线时间
795 小时
注册时间
2010-7-24
回帖
3507
发表于 2012-9-23 23:18:58 | 显示全部楼层
建议LZ发布到技术发布区,方便我等伸手党直接进区伸手去取。。。

点评

↓ 确实有的很有趣呢~  发表于 2012-9-23 23:30
↓我喜欢喷子 可以提高自己的耐受力 然后有的人喷人的方式很幽·默 ~  发表于 2012-9-23 23:26
伸手党?啊……喷子很多倒是习惯了~  发表于 2012-9-23 23:22
这个防卡死……很没有技术含量啊= =不足以发到技术区……肯定会被喷死的说= =  发表于 2012-9-23 23:20
随便看看
回复

使用道具 举报

梦石
0
星屑
75
在线时间
1074 小时
注册时间
2012-1-16
回帖
1855
发表于 2012-9-24 21:07:56 | 显示全部楼层
先占位收藏喵~又一个脚本大触呢~
实用性不强的赶脚。。。
本人目前已被作业山压死,有事请烧(call)纸(me)……
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部