질문과 답변

Extra Form

보통 메뉴에 사진이 있잖아요..

그런데 이 스크립트를 보면

(업그레이드 메뉴)

#_______________________________________________________________________________
# MOG Main Menu V1.7           
#_______________________________________________________________________________
# By Moghunter 
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
#Tipo de fundo.
# 0 = Imagens em movimento.
# 1 = Mapa de fundo.
MENU_BACKGROUND = 0
#Transition Time.
MNTT = 10
#Transition Type (Name)
MNTP = "006-Stripe02"
#Velocidade do cursor
CURSOR_SPEED = 12
end
$mogscript = {} if $mogscript == nil
$mogscript["MOG_Main_Menu"] = true
##############
# Game_Actor #
##############
class Game_Actor < Game_Battler
def now_exp
return @exp - @exp_list[@level]
end
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
############
# Game_Map #
############
class Game_Map
attr_reader   :map_id 
def mpname
$mpname = load_data("Data/MapInfos.rxdata")
$mpname[@map_id].name
end
end
###############
# Window_Base #
###############
class Window_Base < Window
def nada
face = RPG::Cache.picture("")
end   
def drw_face(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc") rescue nada
cw = face.width
ch = face.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, face, src_rect)   
end  
def draw_maphp3(actor, x, y)
back = RPG::Cache.picture("BAR0")   
cw = back.width 
ch = back.height
src_rect = Rect.new(0, 0, cw, ch)   
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = RPG::Cache.picture("HP_Bar")   
cw = meter.width  * actor.hp / actor.maxhp
ch = meter.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = RPG::Cache.picture("HP_Tx")   
cw = text.width 
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)   
end 
def draw_mapsp3(actor, x, y)
back = RPG::Cache.picture("BAR0")   
cw = back.width 
ch = back.height
src_rect = Rect.new(0, 0, cw, ch)   
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = RPG::Cache.picture("SP_Bar")   
cw = meter.width  * actor.sp / actor.maxsp
ch = meter.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = RPG::Cache.picture("SP_Tx")   
cw = text.width 
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.sp.to_s, 2)   
end 
def draw_mexp2(actor, x, y)
bitmap2 = RPG::Cache.picture("Exp_Back")
cw = bitmap2.width
ch = bitmap2.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60 , y - ch + 30, bitmap2, src_rect)
if actor.next_exp != 0
rate = actor.now_exp.to_f / actor.next_exp
else
rate = 1
end
bitmap = RPG::Cache.picture("Exp_Meter")
if actor.level < 99
cw = bitmap.width * rate
else
cw = bitmap.width
end  
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60 , y - ch + 30, bitmap, src_rect)
exp_tx = RPG::Cache.picture("Exp_tx")
cw = exp_tx.width
ch = exp_tx.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 55 , y - ch + 30, exp_tx, src_rect)
lv_tx = RPG::Cache.picture("LV_tx")
cw = lv_tx.width
ch = lv_tx.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 125 , y - ch + 35, lv_tx, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 161, y + 7, 24, 32, actor.level.to_s, 1)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 160, y + 6, 24, 32, actor.level.to_s, 1)
end
def draw_actor_state2(actor, x, y, width = 80)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
self.contents.draw_text(x, y, width, 32, text,2)
end 
end
######################
# Window_MenuStatus2 #
######################
class Window_MenuStatus2 < Window_Selectable
def initialize
super(0, 0, 415, 280)
self.contents = Bitmap.new(width - 32, height - 32)
self.windowskin = RPG::Cache.windowskin("")
self.opacity = 0
self.z = 15
refresh
self.active = false
self.index = -1
end
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 20
y = i * 62
actor = $game_party.actors[i]
self.contents.font.name = "Georgia"
if $mogscript["TP_System"] == true
draw_actor_tp(actor ,x + 285, y - 5,4) 
draw_actor_state2(actor ,x + 190, y - 5)
else 
draw_actor_state2(actor ,x + 220, y - 5)
end
drw_face(actor,x,y + 50)
draw_maphp3(actor,x + 40, y - 5)
draw_mapsp3(actor,x + 40, y + 20 )
draw_mexp2(actor,x + 140, y + 15 )
end
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(5, @index * 62, self.width - 32, 50)
end
end
end
################
# Window_Gold2 #
################
class Window_Gold2 < Window_Base
def initialize
super(0, 0, 160, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.windowskin = RPG::Cache.windowskin("")
self.opacity = 0
self.z = 15
refresh
end
def refresh
self.contents.clear
cx = contents.text_size($data_system.words.gold).width
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
end
end
####################
# Window_PlayTime2 #
####################
class Window_PlayTime2 < Window_Base
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.windowskin = RPG::Cache.windowskin("")
self.opacity = 0
self.z = 15
refresh
end
def refresh
self.contents.clear
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, text, 2)
end
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#################
# Window_Steps2 #
#################
class Window_Steps2 < Window_Base
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.windowskin = RPG::Cache.windowskin("")
self.opacity = 0
self.z = 15
refresh
end
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, $game_party.steps.to_s, 2)
end
end
###################
# Window_Map_Name #
###################
class Window_Map_Name < Window_Base
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.windowskin = RPG::Cache.windowskin("")
self.opacity = 0
self.z = 15
refresh
end
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, $game_map.mpname.to_s, 1)
end
end
##############
# Scene_Menu #
##############
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
s1 = ""
s2 = ""
s3 = ""
s4 = ""
s5 = ""
s6 = ""
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
@command_window.visible = false
@command_window.x = -640
@mnlay = Sprite.new
@mnlay.bitmap = RPG::Cache.picture("Mn_lay")
@mnlay.z = 10
@mnlay.opacity = 0
@mnlay.x = -100
if MOG::MENU_BACKGROUND == 0
@mnback = Plane.new
@mnback.bitmap = RPG::Cache.picture("Mn_back")
@mnback.blend_type = 0
@mnback.z = 5
@mnback2 = Plane.new
@mnback2.bitmap = RPG::Cache.picture("Mn_back")
@mnback2.blend_type = 0
@mnback2.z = 5
@mnback2.opacity = 60
else
@spriteset = Spriteset_Map.new
end
@cursor_x = -100
@cursor_y = 110
@mnsel = Sprite.new
@mnsel.bitmap = RPG::Cache.picture("Mn_Sel")
@mnsel.z = 20
@mnsel.x = @cursor_x
@mnsel.y = @cursor_y
@mnop = 150
if $game_system.save_disabled
@command_window.disable_item(4)
end
@playtime_window = Window_PlayTime2.new
@playtime_window.x = 30
@playtime_window.y = 375
@playtime_window.contents_opacity = 0
@mapname_window = Window_Map_Name.new
@mapname_window.x = 425
@mapname_window.y = 25
@mapname_window.contents_opacity = 0
@steps_window = Window_Steps2.new
@steps_window.x = 230
@steps_window.y = 375
@steps_window.contents_opacity = 0
@gold_window = Window_Gold2.new
@gold_window.x = 455
@gold_window.y = 405
@gold_window.contents_opacity = 0
@status_window = Window_MenuStatus2.new
@status_window.x = 295
@status_window.y = 110
@status_window.contents_opacity = 0

if MOG::MENU_BACKGROUND == 0
Graphics.transition(MOG::MNTT, "Graphics/Transitions/" + MOG::MNTP)
else
Graphics.transition 
end
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
for i in 0..10 
if MOG::MENU_BACKGROUND == 0
@mnback.oy += 1
@mnback.ox += 1
@mnback2.oy += 1
@mnback2.ox -= 1
end
@status_window.x += 20
@status_window.contents_opacity -= 25
@mnsel.opacity -= 25
@mnsel.zoom_x += 0.03
@mnlay.x -= 10
@mnlay.opacity -= 25
@mapname_window.x += 5
@mapname_window.contents_opacity -= 20
@steps_window.contents_opacity -= 25
@gold_window.contents_opacity -= 25
@playtime_window.contents_opacity -= 25
Graphics.update  
end
Graphics.freeze
@command_window.dispose
@playtime_window.dispose
@steps_window.dispose
@gold_window.dispose   
@status_window.dispose
@mnlay.dispose
if MOG::MENU_BACKGROUND == 0
@mnback.dispose
@mnback2.dispose
else
@spriteset.dispose
end
@mnsel.dispose
@mapname_window.dispose
Graphics.update
end
def update 
 if @mnsel.x > @cursor_x
    @mnsel.x -= MOG::CURSOR_SPEED
    if @mnsel.x <= @cursor_x  
    @mnsel.x = @cursor_x     
    end
 elsif @mnsel.x < @cursor_x  
    @mnsel.x += MOG::CURSOR_SPEED  
    if @mnsel.x >= @cursor_x  
    @mnsel.x = @cursor_x   
    end
 end
 if @mnsel.y > @cursor_y
    @mnsel.y -= MOG::CURSOR_SPEED
    if @mnsel.y <= @cursor_y  
    @mnsel.y = @cursor_y
    end
 elsif @mnsel.y < @cursor_y  
    @mnsel.y += MOG::CURSOR_SPEED 
    if @mnsel.y >= @cursor_y  
    @mnsel.y = @cursor_y   
    end
 end  
if @mnsel.zoom_x <= 1.6
@mnsel.zoom_x += 0.03
@mnsel.opacity -= 10
elsif @mnsel.zoom_x > 1.6
@mnsel.zoom_x = 1.0
@mnsel.opacity = 255
end    
if @mnlay.x < 0
@mnlay.opacity += 25
@mnlay.x += 10
elsif @mnlay.x >= 0 
@mnlay.opacity = 255
@mnlay.x = 0
end
@command_window.update if @command_window.active
@playtime_window.update
@status_window.update if @status_window.active
if MOG::MENU_BACKGROUND == 0
@mnback.oy += 1
@mnback.ox += 1
@mnback2.oy += 1
@mnback2.ox -= 1
end
@mnop += 5
@mapname_window.contents_opacity += 15
@playtime_window.contents_opacity += 15
@gold_window.contents_opacity += 15
@playtime_window.contents_opacity += 15
@steps_window.contents_opacity += 15
if @status_window.x > 195
@status_window.x -= 10
@status_window.contents_opacity += 10
elsif @status_window.x <= 195
@status_window.x = 195
@status_window.contents_opacity = 255
end
if @mnop >= 255
@mnop = 120
end  
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
def update_command
case @command_window.index
when 0 
@cursor_x = 0
@cursor_y = 110
when 1
@cursor_x = 25
@cursor_y = 155
when 2
@cursor_x = 40
@cursor_y = 197
when 3
@cursor_x = 45
@cursor_y = 242
when 4
@cursor_x = 25
@cursor_y = 285
when 5
@cursor_x = 0
@cursor_y = 325
end   
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Save.new
when 5
$game_system.se_play($data_system.decision_se)
$scene = Scene_End.new
end
return
end
end
def update_status 
case @status_window.index
when 0 
@cursor_x = 180
@cursor_y = 130
when 1
@cursor_x = 180
@cursor_y = 195
when 2
@cursor_x = 180
@cursor_y = 255
when 3
@cursor_x = 180
@cursor_y = 320
end 
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2 
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3 
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end

 

이 스크립트로 작동되는 메뉴에

 힐다_Fc.PNG 글로리아_Fc.PNG 나르플_Fc.PNG 아르시스_Fc.PNG

이 그림 대신

거너1(남자).png 거너2(여자).png 검사1(남자).png 검사2(여자).png 궁수1(남자).png 궁수2(여자).png 도적1(남자).png 도적2(여자).png 랜서1(남자).png 랜서2(여자).png 메이지1(남자).png 메이지2(여자).png 워리어1(남자).png 워리어2(여자).png 클레릭1(남자).png 클레릭2(여자).png

이 그림들을 넣고 싶은데..

 

어떻게 하나요..

 


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12448
기타 게임찾기 알만툴 공포게임 명작이 어떤게 있나요? 3 후라이팬샷 2021.04.19 219
기타 기타 [컨트롤겜]텍스트 有 vs 텍스트 無 무명시절 2021.05.15 65
기타 RMMV MV를 먼저 할까요 아니면 MZ 를 먼저 할까요 1 Xatra 2021.07.05 133
기타 RMMV 조건 분기 엔딩 같은 경우는 어떻게 만들어야 하나요? 1 뛣꿿쒫 2021.07.19 100
기타 기타 한글화 패치 게임에서 폰트가 너무 두껍게 나올 경우 어떻게 해야 하나요? file 뭼비 2021.07.19 73
기타 RMMV 알만툴MV 아이템 보유수량 한도를 99 이상으로 늘리려면 어떻게 해야하나요? 1 탈락빌런 2021.08.12 58
기타 RMMZ 전투 커맨드 커스텀 질문입니다. 니노미야 2021.08.12 56
기타 RMMV 파티원이 죽으면 자동으로 파티에서 이탈처리되도록 구현하고 싶습니다. 2 프랑도르 2021.11.09 69
기타 사이트 이용 예전에 자료실 게임제작툴 탭에 줄기 2021.09.27 47
기타 RMVXA 대화창에 있는 텍스트의 위치를 뒤로 미루고 싶어요. 4 file 배우러온 2021.10.03 246
기타 RMVXA 적이 캐릭터를 발견한 후 쫓아오게 하는 건 어떻게 하면 될까요? 1 버드와이저 2022.07.14 134
기타 기타 RPGMV 카드뽑기 플러그인 아는 사람? 백월화(白月華) 2022.07.29 189
기타 RMVXA 이벤트도중 볼륨조절 1 빨간토끼 2022.07.26 110
기타 사이트 이용 요즘에 1 꽃돼지 2024.06.14 67
기타 RMVXA vx ace 아이템 조합 1 빨간토끼 2021.12.20 139
기타 툴선택 게임에 사용할 캐릭터 일러스트와 도트는 어디서 어떻게 만들어야 하나요? 3 디로 2021.12.15 280
기타 기타 게임에다 바람을 만들었는데 1 무명시절 2022.06.26 184
기타 RMVXA 윈도우 스킨이 이상하게 나와요 file 둣녀 2022.01.05 121
기타 RMVXA 키 입력을 바꾸고 싶습니다. 둣녀 2022.01.07 93
기타 RMVX RPGVX 문자가 뜨지 않습니다. file kimga713 2022.01.19 172
Board Pagination Prev 1 ... 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 ... 83 Next
/ 83