RPG VX Ace スクリプト
2016.01.10 08:50

Damage Popup by Dargor (데미지 수치 팝업하는 스크립트)

閲覧数 898 推奨数 0 コメント 0
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

Larger Font Smaller Font 上へ 下へ Go comment 印刷
?

Shortcut

Prev前へ 書き込み

Next次へ 書き込み

Larger Font Smaller Font 上へ 下へ Go comment 印刷
출처 : http://www.hbgames.org/forums/viewtopic.php?f=11&t=75877

사용법은 다들 아시리라 생각됩니다.
아래 빨간색 부분을 스크립트에 붙여주시면 됩니다.


#==============================================================================
# ** Damage Popup
#------------------------------------------------------------------------------
# © Dargor, 2011
# 01/12/11
# Version 1.0
#------------------------------------------------------------------------------
# VERSION HISTORY:
# - 1.0 (01/12/11), Initial release
#------------------------------------------------------------------------------
# INSTRUCTIONS:
# - Paste this above main
# - Edit the constants in Damage_Popup module
#==============================================================================

#==============================================================================
# ** Damage Popup Customization Module
#==============================================================================

module Damage_Popup
HP_Damage_Color = Color.new(255,255,255)
MP_Damage_Color = Color.new(172,0,234)
TP_Damage_Color = Color.new(253,157,62)
HP_Recover_Color = Color.new(0,255,0)
MP_Recover_Color = Color.new(48,192,255)
TP_Recover_Color = Color.new(255,242,0)
end

#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
# This sprite is used to display battlers. It observes a instance of the
# Game_Battler class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Battler < Sprite_Base
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias dargor_ace_dmgpopup_sprite_battler_initialize initialize
alias dargor_ace_dmgpopup_sprite_battler_setup_new_effect setup_new_effect
alias dargor_ace_dmgpopup_sprite_battler_start_effect start_effect
alias dargor_ace_dmgpopup_sprite_battler_update_effect update_effect
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(viewport, battler = nil)
# The Usual
dargor_ace_dmgpopup_sprite_battler_initialize(viewport, battler)
# Create damage sprite
@damage_sprite = Sprite_Base.new(viewport)
@damage_sprite.bitmap = Bitmap.new(160,48)
@damage_sprite.bitmap.font.bold = true
@damage_sprite.bitmap.font.outline = true
@damage_sprite.bitmap.font.size = 32
@damage_sprite.visible = false
@damage_duration = 0
@damage_effect = nil
end
#--------------------------------------------------------------------------
# * Setup New Effect
#--------------------------------------------------------------------------
def setup_new_effect
# The Usual
dargor_ace_dmgpopup_sprite_battler_setup_new_effect
# Check for HP Damage
if display_damage_sprite? && @battler.result.hp_damage > 0
start_damage(:hp_damage)
# Check for MP Damage
elsif display_damage_sprite? && @battler.result.mp_damage > 0
start_damage(:mp_damage)
# Check for TP Damage
elsif display_damage_sprite? && @battler.result.tp_damage > 0
start_damage(:tp_damage)
# Check for HP Recover
elsif display_damage_sprite? && @battler.result.hp_damage < 0
start_damage(:hp_recover)
# Check for MP Recover
elsif display_damage_sprite? && @battler.result.mp_damage < 0
start_damage(:mp_recover)
# Check for TP Recover
elsif display_damage_sprite? && @battler.result.tp_damage < 0
start_damage(:tp_recover)
end
end
#--------------------------------------------------------------------------
# * Damage Display Test
#--------------------------------------------------------------------------
def display_damage_sprite?
return (@battler.result.success && @damage_duration == 0)
end
#--------------------------------------------------------------------------
# * Start Damage Effect
#--------------------------------------------------------------------------
def start_damage(effect_type)
@damage_effect = effect_type
@damage_duration = 60
case @damage_effect
when :hp_damage
@damage_sprite.bitmap.font.color = Damage_Popup::HP_Damage_Color
when :mp_damage
@damage_sprite.bitmap.font.color = Damage_Popup::MP_Damage_Color
when :tp_damage
@damage_sprite.bitmap.font.color = Damage_Popup::TP_Damage_Color
when :hp_recover
@damage_sprite.bitmap.font.color = Damage_Popup::HP_Recover_Color
when :mp_recover
@damage_sprite.bitmap.font.color = Damage_Popup::MP_Recover_Color
when :tp_recover
@damage_sprite.bitmap.font.color = Damage_Popup::TP_Recover_Color
end
update_damage_popup_position
update_damage_popup_text
@damage_sprite.visible = true
@damage_sprite.opacity = 255
end
#--------------------------------------------------------------------------
# * Update Effects
#--------------------------------------------------------------------------
def update_effect
# Update effects
if @damage_duration > 0
@damage_duration -= 1
update_damage
if @damage_duration == 0
@damage_sprite.visible = false
@damage_type = nil
@battler.result.clear_hit_flags
end
end
# The Usual
dargor_ace_dmgpopup_sprite_battler_update_effect
end
#--------------------------------------------------------------------------
# * Update Damage Sprite Potision
#--------------------------------------------------------------------------
def update_damage_popup_position
if @battler && @battler.use_sprite?
@damage_sprite.x = @battler.screen_x
@damage_sprite.y = @battler.screen_y - 48
@damage_sprite.z = @battler.screen_z + 10
end
end
#--------------------------------------------------------------------------
# * Update Damage Sprite Text
#--------------------------------------------------------------------------
def update_damage_popup_text
case @damage_effect
when :hp_damage, :hp_recover
string = @battler.result.hp_damage.abs.to_s
when :mp_damage, :mp_recover
string = @battler.result.mp_damage.abs.to_s
when :tp_damage, :tp_recover
string = @battler.result.tp_damage.abs.to_s
end
rect = @damage_sprite.bitmap.text_size(string)
@damage_sprite.bitmap.clear
@damage_sprite.bitmap.draw_text(rect, string, 1)
end
#--------------------------------------------------------------------------
# * Update Damage
#--------------------------------------------------------------------------
def update_damage
case @damage_duration
when 58..59
@damage_sprite.y -= 4
when 56..57
@damage_sprite.y -= 2
when 54..55
@damage_sprite.y += 2
when 48..53
@damage_sprite.y += 4
end
if @damage_duration <= 20
@damage_sprite.opacity = @damage_duration * 11
end
end
end
?

List of Articles
番号 カテゴリ タイトル 投稿者 日付 閲覧数 推奨数
288 RPGXP スクリプト 새로운 게임 시작/로드 시 미묘한 연출 추가. 창조도시 2007.12.01 2547 1
287 RPGXP スクリプト 대화 글씨 폰트를 원하는 폰트로 바꾸기 창조도시 2007.12.01 1675 2
286 RPGXP スクリプト 대각선 방향 이동추가로 8방향 이동 만들기. 1 창조도시 2008.08.14 2453 1
285 RPGXP スクリプト 맵 이름을 화면 상단에 띄우기. 1 1 file 창조도시 2008.10.12 2408 1
284 RPGXP スクリプト 최초 시작화면에 제작자 정보를 띄워보자. 6 창조도시 2008.04.04 2208 5
283 RPGXP スクリプト 선택 메뉴를 가운데 정렬 해보자. 1 file 창조도시 2007.12.02 1668 2
282 RPGXP スクリプト 아이템창을 아이템 분류별로 나누어 지게 개조. 3 file 창조도시 2007.12.02 1877 1
281 RPGXP スクリプト c[n] 명령어 줄때의 색상 결정. 창조도시 2008.02.14 1340 1
280 RPGXP スクリプト 대화창에 얼굴 띄우기& 대화창 명령어 모음. 1 file 창조도시 2008.12.31 2359 1
279 RPGXP スクリプト 게임도중에 글씨체를 바꿔보자. 창조도시 2008.12.31 1541 1
278 RPGXP スクリプト 대화창에 이름&얼굴 띄우기 새로운방식. file 창조도시 2007.11.06 3882 3
277 RPGXP スクリプト 그림자문자 사용하기.. 바탕색이 무슨색이건 상관없이 글자가 잘보인다!!! 창조도시 2007.11.06 1700 1
276 RPGXP スクリプト 기차 파티 스크립트 2 창조도시 2008.07.24 1706 2
275 RPGXP スクリプト 한글이름입력기 v1.76 1 1 창조도시 2008.07.24 2933 2
274 RPGXP スクリプト 창고 시스템 2 창조도시 2008.01.18 2011 3
273 RPGXP スクリプト 물가에가면 캐릭터를 반사시켜주는 스크립트 4 file 창조도시 2007.12.02 4782 6
272 RPGXP スクリプト 파티 선두 캐릭터 id 변수에 넣기 Evangelista 2008.01.08 1666 1
271 RPGVX スクリプト vx 한글이름입력 2 file 가가상 2010.05.21 3350 1
270 RPGVX スクリプト [VX] 파티 선두 캐릭터 액터ID를 변수에 넣기 Evangelista 2008.11.28 1961 1
269 RPGVX スクリプト [VX] 조건분기로 키입력의 처리 실행 1 Evangelista 2008.11.28 1996 1
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15