查看: 4349|回复: 15

废柴问题..关于动画。

  [复制链接]
头像被屏蔽

悔恨的天使

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-2-26
回帖
700
发表于 2008-3-2 05:33:24 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

御灵的宠物

梦石
12
星屑
8481
在线时间
94 小时
注册时间
2006-12-11
回帖
3101

第2届TG大赛亚军

发表于 2008-3-2 06:10:25 | 显示全部楼层
- -+
LZ说不是我家宠物我死都不信…………至少也是失散多年的姐妹[喂]
那个,结论是:我同样无能。
因为播放的动画再怎么样还是得一祯祯画出来吧……= =
我的Lofter:http://nightoye.lofter.com/

回复

使用道具 举报

头像被屏蔽

悔恨的天使

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-2-26
回帖
700
 楼主| 发表于 2008-3-2 06:14:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

御灵的宠物

梦石
12
星屑
8481
在线时间
94 小时
注册时间
2006-12-11
回帖
3101

第2届TG大赛亚军

发表于 2008-3-2 06:17:23 | 显示全部楼层
{/hx}不会用API(同样饱含CJ的目光)
那个,商业游戏引擎和RM是不一样的……嗯……不一样的……
我的Lofter:http://nightoye.lofter.com/

回复

使用道具 举报

头像被屏蔽

悔恨的天使

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-2-26
回帖
700
 楼主| 发表于 2008-3-6 04:54:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
2 小时
注册时间
2007-12-15
回帖
179
发表于 2008-3-6 14:46:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
918
在线时间
213 小时
注册时间
2006-10-8
回帖
237
发表于 2008-3-6 15:44:30 | 显示全部楼层
api是函数,耶!答对啦!100分
回复

使用道具 举报

史上最强粉丝

梦石
0
星屑
50
在线时间
9 小时
注册时间
2007-8-20
回帖
5272

贵宾

发表于 2008-3-6 17:14:51 | 显示全部楼层
……使用下…咎人的北欧范例。试试…提前预读…瞬时释放内存…
回复

使用道具 举报

酱油的

梦石
0
星屑
1840
在线时间
2161 小时
注册时间
2007-12-22
回帖
3216

贵宾

发表于 2008-3-6 17:24:59 | 显示全部楼层
唔,第一個問題不知道(放大成800%的全屏动画会让FPS彻底垮掉)。
第二個問題我倒是知道原因(几个敌人同时播放特别大的动画也吃不消)。

主要原因不是出在RPG::Sprite當中,所以無論妳怎麼優化也起不了太大作用(當然,估計API也是)。

主要原因出在Scene_Battle當中(這個剛好有涉獵)。在Scene_Battle 4當中有這句:
line:411
    for target in @target_battlers
      target.animation_id = @animation2_id
      target.animation_hit = (target.damage != "Miss")
    end

具體意思顯而易見,就是把生成目標的動畫。

但是,可以注意到的是:for
這裏是一個循環,所以說目標有幾個就顯示幾個動畫。所謂全體攻擊,也就是全體人員「同時」顯示「數個」同樣的動畫。

這樣子,
我們的敵人有3個,就會「同時」顯示3個動畫
我們的敵人有10個,就會「同時」顯示10個動畫

所以,我們的程序就會卡了。
(特別是特別巨大的全屏動畫)

用這個替換原方法:
  #--------------------------------------------------------------------------
  # ● 刷新画面 (主回合步骤 4 : 对像方动画)
  #--------------------------------------------------------------------------
  def update_phase4_step4
    # 对像方动画
    a = 0
    for target in @target_battlers
      target.animation_id = @animation2_id + a
      target.animation_hit = (target.damage != "Miss")
      a += 1
    end
    # 限制动画长度、最低 8 帧
    @wait_count = 8
    # 移至步骤 5
    @phase4_step = 5
  end

然後放全體技能看看……妳就知道發生甚麽事了==!
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复

使用道具 举报

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
回帖
3667

第1届短篇游戏比赛亚军

发表于 2008-3-6 18:33:37 | 显示全部楼层
LS正解。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部