안녕하세요 rpgvxace초보게임제작자입니다.
제가 c언어는 조금 읽을줄 아는정도라 스크립트 제작은 거의 초보인데요.
제가 아방스내 게시물중 허걱님이 만들어 올려주신 체력바를 이와같은 스크립트를 쓰는데 당연하게도 한개만 출력할땐 잘나옵니다.
그런데 제가 원하는건 이걸 한개만 띄우는것이 아닌 동시에 두개를 띄우는것이라서 질문올려봅니다.
어떻게 스크립트를 수정하면 두개를 동시에 띄울수 있을까요?
module VariablesDisplayScript
# 표시 토글 스위치 - 해당 스위치가 ON 일경우 표시
SWITCH = 1
# 표시위치 - 0:왼쪽 위, 1:오른쪽 위, 2:왼쪽 아래, 3:오른쪽 아래
POSITION = 0
# 윈도우 넓이
WINDOW_WIDTH = 200
# 글자 크기
FONT_SIZE = 20
# 표시할 변수이름, 변수 번호
# ["이름", 번호1(, 번호2)]
ITEM = [
["공격",1],
["방어",2],
["체력",4],
["4번 변수",6,7],
]
end
class Window_VariablesDisplay < Window_Base
#--------------------------------------------------------------------------
# ● 초기화
#--------------------------------------------------------------------------
def initialize
super(window_x, window_y, width, height)
contents.font.size = font_size
update_visible
update_values
end
#--------------------------------------------------------------------------
# ● 새로고침
#--------------------------------------------------------------------------
def refresh
contents.clear
_y = 0
item.each do |i|
text = sprintf("%s : %d", i[0],value(i[1]))
text += sprintf("/%d", value(i[2])) if i[2]
draw_text(0, _y, text_size(text).width, line_height, text)
_y += line_height
end
end
#--------------------------------------------------------------------------
# ● 갱신
#--------------------------------------------------------------------------
def update
super
update_values if update_visible
end
#--------------------------------------------------------------------------
# ● 투명화 갱신
#--------------------------------------------------------------------------
def update_visible
self.visible = switch_value
end
#--------------------------------------------------------------------------
# ● 내용 갱신
#--------------------------------------------------------------------------
def update_values
unless @values == values
@values = values
refresh
end
end
#--------------------------------------------------------------------------
# ● 스위치 상태 취득
#--------------------------------------------------------------------------
def switch_value
$game_switches[VariablesDisplayScript::SWITCH]
end
#--------------------------------------------------------------------------
# ● 값 배열 취득
#--------------------------------------------------------------------------
def values
result = []
item.each do |i|
result.push(value(i[1]))
result.push(value(i[2])) if i[2]
end
return result.dup
end
#--------------------------------------------------------------------------
# ● 변수의 값 취득
#--------------------------------------------------------------------------
def value(n)
$game_variables[n]
end
#--------------------------------------------------------------------------
# ● 글자 크기
#--------------------------------------------------------------------------
def font_size
VariablesDisplayScript::FONT_SIZE
end
#--------------------------------------------------------------------------
# ● 한 줄의 높이
#--------------------------------------------------------------------------
def line_height
font_size
end
#--------------------------------------------------------------------------
# ● 변수 아이템
#--------------------------------------------------------------------------
def item
VariablesDisplayScript::ITEM
end
#--------------------------------------------------------------------------
# ● 윈도우 넓이
#--------------------------------------------------------------------------
def width
VariablesDisplayScript::WINDOW_WIDTH
end
#--------------------------------------------------------------------------
# ● 윈도우 높이
#--------------------------------------------------------------------------
def height
fitting_height(item.size)
end
#--------------------------------------------------------------------------
# ● 윈도우 표시 좌표 X
#--------------------------------------------------------------------------
def window_x
case pos
when 0, 2; 0
when 1, 3; Graphics.width - width
end
end
#--------------------------------------------------------------------------
# ● 윈도우 표시 좌표 Y
#--------------------------------------------------------------------------
def window_y
case pos
when 0, 1; 0
when 2, 3; Graphics.height - height
end
end
#--------------------------------------------------------------------------
# ● 윈도우 표시 위치
#--------------------------------------------------------------------------
def pos
VariablesDisplayScript::POSITION
end
end
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 시작
#--------------------------------------------------------------------------
alias variables_display_script_start start
def start
variables_display_script_start
@window_var_disp = Window_VariablesDisplay.new
end
#--------------------------------------------------------------------------
# ● 종료
#--------------------------------------------------------------------------
alias variables_display_script_terminate terminate
def terminate
@window_var_disp.dispose
variables_display_script_terminate
end
#--------------------------------------------------------------------------
# ● 갱신
#--------------------------------------------------------------------------
alias variables_display_script_update update
def update
@window_var_disp.update
variables_display_script_update
end
end