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

Project1

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

[已经解决] 伤害

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2013-7-25
帖子
9
跳转到指定楼层
1
发表于 2013-8-31 00:53:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
1、怎么样才能做到攻击跟伤害同时出现,而不是攻击动画结束才出现!
2、怎么样让结束前,先显示怪物或物品里的公共事件后才显示经验跟金币?现况是,显示了经验金币后,切到地图外面才显示公共事件里面的内容!

Lv1.梦旅人

梦石
0
星屑
50
在线时间
54 小时
注册时间
2013-1-3
帖子
128
2
发表于 2013-8-31 12:00:27 | 只看该作者
1.这是我看后知后觉横版脚本里的方法,在攻击动画中,你认为攻击击中敌人的帧那里加一个空音乐
然后在处理se的地方添加显示伤害的动作,以此来达成伤害和动画同步。

2.战斗结束后运行怪物和事件的话,你可以考虑
a.如果你是使用“战斗处理”动作进入战斗的话,敌人不设置经验物品,一切等到“战斗处理”动作结束后统一发放
b.步数遇敌的情况,你可以考虑判断敌人血小于一定百分比(例如1%),达到条件后就运行公共事件并结束这次战斗
  但是施行b时,你要给敌人不死的效果,让其不会被一击致命
以上2种方法比较简单

评分

参与人数 1星屑 +80 收起 理由
熊喵酱 + 80 认可答案

查看全部评分

1
回复 支持 反对

使用道具 举报

Lv2.观梦者

无节操

梦石
0
星屑
607
在线时间
795 小时
注册时间
2009-2-6
帖子
3939

开拓者贵宾

3
发表于 2013-9-9 20:44:13 | 只看该作者
  1.   #--------------------------------------------------------------------------
  2.   # ● 胜利时的处理
  3.   #--------------------------------------------------------------------------
  4.   def self.process_victory
  5.     play_battle_end_me
  6.     replay_bgm_and_bgs
  7.     $game_message.add(sprintf(Vocab::Victory, $game_party.name))
  8.     display_exp
  9.     gain_gold
  10.     gain_drop_items
  11.     gain_exp
  12.     SceneManager.return
  13.     battle_end(0)
  14.     return true
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 战斗结束
  18.   #     result : 结果(0:胜利 1:撤退 2:全灭)
  19.   #--------------------------------------------------------------------------
  20.   def self.battle_end(result)
  21.     @phase = nil
  22.     @event_proc.call(result) if @event_proc
  23.     $game_party.on_battle_end
  24.     $game_troop.on_battle_end
  25.     SceneManager.exit if $BTEST
  26.   end
复制代码
以上是默认脚本。将之改为如下
  1.   #--------------------------------------------------------------------------
  2.   # ● 胜利时的处理
  3.   #--------------------------------------------------------------------------
  4.   def self.process_victory
  5.     play_battle_end_me
  6.     replay_bgm_and_bgs
  7.     $game_message.add(sprintf(Vocab::Victory, $game_party.name))
  8.     battle_end_first(0)          #added
  9.     display_exp
  10.     gain_gold
  11.     gain_drop_items
  12.     gain_exp
  13.     SceneManager.return
  14.     battle_end_second        #changed
  15.     return true
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 战斗结束1
  19.   #     result : 结果(0:胜利 1:撤退 2:全灭)
  20.   #--------------------------------------------------------------------------
  21.   def self.battle_end_first(result)
  22.     @phase = nil
  23.     @event_proc.call(result) if @event_proc
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 战斗结束2
  27.   #--------------------------------------------------------------------------
  28.   def self.battle_end_second
  29.     $game_party.on_battle_end
  30.     $game_troop.on_battle_end
  31.     SceneManager.exit if $BTEST
  32. end

复制代码
其中added表示增加,changed表示修改,将battle_end拆成两部分,这样理论上应该可以达成你的要求,但不保证一次可行,或者是否有冲突。

评分

参与人数 1星屑 +110 收起 理由
熊喵酱 + 110 认可答案

查看全部评分

Brandnew day, Brandnew Life
                              实在  中
暂为素材区版主,版其  琢磨
应援一下~
RPG制作大师授权素材推广计划
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 18:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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