XP 스크립트

#=================================================
# Damage_Display Script
#-------------------------------------------------
# http://rmxp.org
#=================================================

class Damage < Sprite
  def initialize(x, y, dealt_damage = 0, viewport = Viewport.new(0,0,640,480))
    super(viewport)
    @_damage_duration = 0
    self.x = x
    self.y = y
    @damage = dealt_damage
    damage(@damage)
  end
   
  def dispose
    dispose_damage
    super
  end

  def damage(value)
    dispose_damage
    if value.is_a?(Numeric)
      damage_string = value.abs.to_s
    else
      damage_string = value.to_s
    end
    bitmap = Bitmap.new(160, 48)
    bitmap.font.name = "굴림"
    bitmap.font.size = 20
    bitmap.font.color.set(0, 0, 0)
    bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
    bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
    bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
    bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
    if value.is_a?(Numeric) and value < 0
      bitmap.font.color.set(176, 255, 144)
    else
      bitmap.font.color.set(255, 255, 255)
    end
    bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
    @_damage_sprite = ::Sprite.new(self.viewport)
    @_damage_sprite.bitmap = bitmap
    @_damage_sprite.ox = 80
    @_damage_sprite.oy = 20
    @_damage_sprite.x = self.x
    @_damage_sprite.y = self.y - self.oy / 2
    @_damage_sprite.z = 9000
    @_damage_duration = 40
  end

  def dispose_damage
    if @_damage_sprite != nil
      @_damage_sprite.bitmap.dispose
      @_damage_sprite.dispose
      @_damage_sprite = nil
      @_damage_duration = 0
    end
  end

  def update
    super
    if @_damage_duration > 0
      @_damage_duration -= 1
      case @_damage_duration
      when 38..39
        @_damage_sprite.y -= 4
      when 36..37
        @_damage_sprite.y -= 2
      when 34..35
        @_damage_sprite.y += 2
      when 28..33
        @_damage_sprite.y += 4
      end
      @_damage_sprite.opacity = 256 - (12 - @_damage_duration) * 32
      if @_damage_duration == 0
        dispose
      end
    end
  end
end
###################################################
class Scene_Map
  alias trickster_update update
  def update
    if $damage != nil
      if $damage.disposed?
        $damage = nil
      else
        $damage.update
      end
    end
    trickster_update
  end
end
###################################################
class Interpreter
  def command_338
    # Get operate value
    value = operate_value(0, @parameters[2], @parameters[3])
    # Process with iterator
    iterate_battler(@parameters[0], @parameters[1]) do |battler|
      # If battler exists
      if battler.exist?
        # Change HP
        battler.hp -= value
        # If in battle
        if $game_temp.in_battle
          # Set damage
          battler.damage = value
          battler.damage_pop = true
        else
          if battler.is_a?(Game_Actor)
            x = $game_player.screen_x
            y = $game_player.screen_y
          else
            x = battler.screen_x
            y = battler.screen_y
          end
          viewport = Viewport.new(0,0,640,480)
          damage = value
          $damage = Damage.new(x,y,viewport,damage)
        end
      end
    end
    # Continue
    return true
  end
end

사용법
 $damage = Damage.new(x,y,내용)
수정, 추가 심플액션에서 데미지 출력을 이걸로 사용했음
잘쓰셈

Who's 백호

?

이상혁입니다.

http://elab.kr

Comment '6'

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6153
94 전투 Trickster씨의 전투 시스템 (SDK 필수?) Alkaid 2012.09.18 3257
93 전투 XAS Hero Edition v3.82 19 아방스 2010.12.27 4346
92 전투 XAS Hero Edition Ver. 3.91 3 프리즌커피 2011.12.23 3894
91 전투 XAS 여러가지버전. 9 §포뇨§ 2010.02.23 4396
90 전투 XAS_Hero_3_6 24 ok하승헌 2010.02.18 2868
89 전투 xas히어로에디션 3.4 14 ps인간 2009.01.04 4044
88 전투 [OLD] 횡 전투 시스템.(출처 XP포럼 옛 자료실(2차배포일듯)) 6 백호 2009.02.21 2539
87 전투 [RTAB]HP/SH/EXP 게이지바 ver 1.00 44 file 환상 러브텔 2010.05.22 5339
86 전투 [신기술 체험] SRPG-Test 13 file 백호 2009.02.22 3537
85 전투 [신기술 체험] Tactical Battle System 9 file 백호 2009.02.22 2034
84 전투 [신기술 체험] 강회된 횡스크롤 액알 13 file 백호 2009.02.22 6841
83 전투 [신기술 체험]액션배틀1탄 6 file 백호 2009.02.22 2766
82 전투 [액알]neo_a-rpg_module_1[1][1].2 스크립트 83 file 은빛바람 2009.10.03 8298
81 전투 간단 액알 사용법(3번째) 12 file 백호 2009.02.21 3337
80 전투 간단 액알 스크립티!(2번째) 2 백호 2009.02.21 2696
79 전투 간단한 액알 스크립트!(1번째) 2 백호 2009.02.21 3166
78 전투 깔끔한형식의 Asan'Tear배틀시스탬 4 file 콩밥 2010.09.29 4124
77 전투 대전게임 Fighter 1 file 백호 2009.02.21 1436
» 전투 데미지 출력 스크립트 6 백호 2009.02.22 1810
75 전투 데미지 폰트변경 7 카르닉스 2010.02.26 2600
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9