Project1

标题: 横板2.7的战斗特效…… [打印本页]

作者: 星辰天羽    时间: 2008-11-19 02:54
标题: 横板2.7的战斗特效……
横板2.7的战斗的战斗系统怎么实现:
1、释放技能画面转暗,
2、选取目标后,画面放缩到敌人身边以体现出更震撼的效果
3、放某些技能画面会震动的特效【已解决】
4、暴击时与普通伤害不用同一种图片
5、去掉附带的血条,改用沉影的
6、伤害超过5位数不能显示出来
[LINE]1,#dddddd[/LINE]此贴于 2008-11-29 13:46:10 被版主木葬枫提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]此贴于 2008-12-6 13:43:50 被版主木葬枫提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: 塑望    时间: 2008-11-19 06:03
震动的效果..直接在技能里带入公共事件可以解决

关于横版系统脚本..我没接触..不知道
作者: 星辰天羽    时间: 2008-11-19 20:20
那其他的效果呢……
作者: 木葬枫    时间: 2008-11-19 21:50
话说你的效果都好像很卡的样子,包括我看过的那个大地图范例。
作者: 奈洛黃泉    时间: 2008-11-20 00:55
關於版大的第六個問題是能解決的,

只要在橫版系統附帶的第3個腳本中的"战斗画面的处理的类"修改就行了,

在腳本下方有個:

#==============================================================================
# ■ Sprite_Damage
#------------------------------------------------------------------------------
#  伤害表示的精灵。
#==============================================================================

下面有幾個地方可以擴充傷害值的數字,

修改地方如下:

class Sprite_Damage < Sprite_Base
  #--------------------------------------------------------------------------
  # ● 公开变数
  #--------------------------------------------------------------------------
  attr_accessor :battler
  #--------------------------------------------------------------------------
  # ● 客观初期化
  #--------------------------------------------------------------------------
  def initialize(viewport,battler = nil)
    super(viewport)
    @battler = battler
    @damage = 0
    @duration = 0
    @x = 0
    @y = 0
    @z_plus = 0
    @minus = false
    @num1 = Sprite.new(viewport)
    @num2 = Sprite.new(viewport)
    @num3 = Sprite.new(viewport)
    @num4 = Sprite.new(viewport)
    @num5 = Sprite.new(viewport)
    @num6 = Sprite.new(viewport)
    @num7 = Sprite.new(viewport)
    @num8 = Sprite.new(viewport)

    @num1.visible = false
    @num2.visible = false
    @num3.visible = false
    @num4.visible = false
    @num5.visible = false
    @num6.visible = false
    @num7.visible = false
    @num8.visible = false

  end


def update
    force_damage
    move_damage(@num8, @pop_time) if @num8.visible
    move_damage(@num7, @pop_time - 2) if @num7.visible
    move_damage(@num6, @pop_time - 4) if @num6.visible

    move_damage(@num5, @pop_time - 6) if @num5.visible
    move_damage(@num4, @pop_time - 8) if @num4.visible
    move_damage(@num3, @pop_time - 10) if @num3.visible
    move_damage(@num2, @pop_time - 12) if @num2.visible
    move_damage(@num1, @pop_time - 14) if @num1.visible
    move_window if @window != nil
    @duration -= 1 if @duration > 0
  end



#--------------------------------------------------------------------------
  # ● 文字窗口的移动
  #--------------------------------------------------------------------------
  def move_window
    @window.x -= 8 if @window_time > 0 && @window.x > 0
    @window_time -= 1
    if @duration == 0
      @window.dispose
      @window = nil
    end
  end  


# 没有伤害时没有数字的POP
    return @duration = @pop_time if damage == 0
    @num_time = -1
    damage_file(@num1, damage % 10, @pop_time - 7) if damage >= 0
    damage_file(@num2, (damage % 100)/10, @pop_time - 5) if damage >= 10
    damage_file(@num3, (damage % 1000)/100, @pop_time - 3) if damage >= 100
    damage_file(@num4, (damage % 10000)/1000, @pop_time - 1) if damage >= 1000
    damage_file(@num5, (damage % 100000)/10000, @pop_time + 1) if damage >= 10000
    damage_file(@num6, (damage % 1000000)/100000, @pop_time + 3) if damage >= 100000
    damage_file(@num7, (damage % 10000000)/1000000, @pop_time + 5) if damage >= 1000000
    damage_file(@num8, (damage % 100000000)/10000000, @pop_time + 7) if damage >= 10000000
  end



#--------------------------------------------------------------------------
  # ● 准备情报窗口
  #--------------------------------------------------------------------------
  def window(text)
    @window = Window_Damage.new(@x - 64, @y - 22)
    @window.pop_text(text)
    @window_time = 8
  end  



#--------------------------------------------------------------------------
  # ● 伤害组合
  #--------------------------------------------------------------------------
  def reset
    @num8.visible = @num7.visible = @num6.visible = @num5.visible = @num4.visible = @num3.visible = @num2.visible = @num1.visible = false
    @window.dispose if @window != nil
    @window = nil
  end  
  #--------------------------------------------------------------------------
  # ● 开放
  #--------------------------------------------------------------------------
  def dispose
    super
    @num1.dispose
    @num2.dispose
    @num3.dispose
    @num4.dispose
    @num5.dispose
    @num6.dispose
    @num7.dispose
    @num8.dispose

    @window.dispose if @window != nil
  end  
end

最大數值沒有限制,可是必須先加上數字的座標。 [LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: 星辰天羽    时间: 2008-11-30 05:40
其他的特效呢,其实就是VX的横板RTAB




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1