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

Project1

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

【XP】关于超级战斗脚本的扩展

[复制链接]

Lv1.梦旅人

梦石
0
星屑
190
在线时间
6 小时
注册时间
2011-12-8
帖子
1
跳转到指定楼层
1
发表于 2011-12-8 21:13:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
想通过修改战斗图 达到近乎全动画脚本的效果 开场动画 胜利动画 胜利静态都解决了 卡在了死亡动态转静态方面

原脚本
  1.        if @battler.damage == nil and @battler.dead?
  2.         if @battler.is_a?(Game_Enemy)
  3.          $game_system.se_play($data_system.enemy_collapse_se)
  4.          collapse
  5.        else
  6.          $game_system.se_play($data_system.actor_collapse_se)
  7.            @battler.battler_name = @battler.battler_name + "★死亡动态"
  8. ###思路是这里插入等待XX帧后 执行下面的更换图片,这里少个等待相关的脚本
  9.          @battler.battler_name = @battler.battler_name.split(/★/)[0]
  10.          @battler.battler_name = @battler.battler_name + "★死亡静态"
  11.         
  12.        end
  13.        @battler_visible = false
  14.        end
复制代码
问题就是RMXP这个并行处理的等待脚本怎么弄?
类似这样的 游戏全局等待就不要发了 效果看上去卡屏一样
for i in 1..50
  Graphics.update
end

自己尝试着修改 还是无限在 战斗动态那图上 请高手看看应该如何改 下面是自己乱改得 - -
  1.    
  2.        if @battler.damage == nil and @battler.dead?
  3.         if @battler.is_a?(Game_Enemy)
  4.          $game_system.se_play($data_system.enemy_collapse_se)
  5.          collapse
  6.          end
  7.        if   @battler.is_a?(Game_Actor)
  8.          $game_system.se_play($data_system.actor_collapse_se)
  9.          dengdai = 40 ##这个赋值应该放哪合适?
  10.       if dengdai > 0
  11.   dengdai -= 1
  12.   @battler.battler_name = @battler.battler_name + "★死亡动态"
  13. end
  14. if dengdai == 0
  15.    @battler.battler_name = @battler.battler_name.split(/★/)[0]
  16.          @battler.battler_name = @battler.battler_name + "★死亡静态"
  17.      end   
  18.       end
  19.        @battler_visible = false
  20.      end
复制代码

Lv2.观梦者

梦石
0
星屑
508
在线时间
1478 小时
注册时间
2011-9-17
帖子
1316

开拓者贵宾

2
发表于 2011-12-11 11:50:35 | 只看该作者
dengdai的赋值肯定不能直接放在update里面啊,不然每次都会变成40再执行后面的,
并且你想要保证每次update对dengdai值读取的连续性,自然就要想到将dengdai改为实例变量了啊
首先将dengdai改为@dengdai(后面的都要加哦, 就是10,14行)
然后这样加一句吧:(修改赋值那一行,就是9行)
  1. @dengdai = 40 if @dengdai == nil
复制代码
但是这样以后第二次死亡人物的时候就不等待了,于是还要在if @dengdai == 0 分歧里面加上一句:
  1. @dengdai = nil
复制代码
好了~
其实想要并行的运行动画,用Thread类可以很轻松的解决,这里就不说了~
由于没有工程试验,只是纯粹从可行性上考虑的,有BUG就再说吧(@iisnow哦~)

我帖子中要有是不HX的空白,请Ctrl + A
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-5-5 21:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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