조회 수 555 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
#주의사항
#스윗치의 ID는 게임상에서 이벤트 만들때 쓰이는 "스위치의 조작"의 "스위치 번호"에 해당합니다.
#저 같은 경우 15번 스위치가 게임 시작시 제일 먼저 on하도록 만들었기 때문에 스윗치의 ID가 15입니다.
#◆◇◆◇◆-----XRXS54. 맵상에서 간이 윈도우 표시 ver1. 0 -----◇◆◇◆◇
# by 각궁
# 「디폴트 기능 & 사양」
# ·WIN_2 = true. (이)라고 해도, 스윗치가 ON로 한편, 엑터가 존재하지 않으면
#  윈도우는 표시되지 않습니다. 이 3 요소가 갖추어졌을 때에 윈도우를 표시합니다.
# ·반대로 이 요소가 하나에서도 빠지면(자) 윈도우는 자동적으로 비표시가 됩니다.
# ·트크르 개시시는 스윗치는 OFF이므로, ON로 하지 않으면 표시되지 않습니다.
#------------------------------------------------------------------
# 커스터마이즈(customize) 포인트
#(*존재하지 않는 스윗치를 지정하시면(자) 에러가 됩니다. )
#----------------------------------------------------------------
WIN_1 = true # 엑터 1용 윈도우를 표시한다면 true, 하지 않으면 false.
SWITVH_1 = 15 # 엑터 1용 윈도우의 표시/비표시에 대응하는 스윗치의 ID.
#스위치에 관한 설명은 위를 참고해 주세요.
OPACITY_1 = 50 # 엑터 1용 윈도우의 투명도(0으로 가까울 정도 투명)
X_1 = 0 # 엑터 1용 윈도우의 X좌표
Y_1 = 384 # 엑터 1용 윈도우의 Y좌표

WIN_2 = true # 엑터 2용 윈도우를 표시한다면 true, 하지 않으면 false.
SWITVH_2 = 15 # 엑터 2용 윈도우의 표시/비표시에 대응하는 스윗치의 ID.
#스위치에 관한 설명은 위를 참고해 주세요.
OPACITY_2 = 50 # 엑터 2용 윈도우의 투명도(0으로 가까울 정도 투명)
X_2 = 160 # 엑터 2용 윈도우의 X좌표
Y_2 = 384 # 엑터 2용 윈도우의 Y좌표

WIN_3 = true # 엑터 3용 윈도우를 표시한다면 true, 하지 않으면 false.
SWITVH_3 = 15 # 엑터 3용 윈도우의 표시/비표시에 대응하는 스윗치의 ID.
#스위치에 관한 설명은 위를 참고해 주세요.
OPACITY_3 = 50 # 엑터 3용 윈도우의 투명도(0으로 가까울 정도 투명)
X_3 = 320 # 엑터 3용 윈도우의 X좌표
Y_3 = 384 # 엑터 3용 윈도우의 Y좌표

WIN_4 = true # 엑터 4용 윈도우를 표시한다면 true, 하지 않으면 false.
SWITVH_4 = 15 # 엑터 4용 윈도우의 표시/비표시에 대응하는 스윗치의 ID.
#스위치에 관한 설명은 위를 참고해 주세요.
OPACITY_4 = 100 # 엑터 4용 윈도우의 투명도(0으로 가까울 정도 투명)
X_4 = 480 # 엑터 4용 윈도우의 X좌표
Y_4 = 384 # 엑터 4용 윈도우의 Y좌표

SET_SP = [true, true, true, true] # 각 윈도우의 SP표시 설정. false로 비표시.
OPTION = 16
# 「메세지 윈도우 표시시는 간이 윈도우를 소거한다」
#  (이)라고 하는 기능의 ON/OFF에 대응하는 스윗치의 ID.
#=========================================================================
# ■ Scene_Map
#=========================================================================
class Scene_Map
#---------------------------------------------------------------------
# ● 프레임 갱신
#---------------------------------------------------------------------
alias main_tokimiya main
def main
# 간이 윈도우 1을 작성
@simple_window1 = Window_MapStatus.new(X_1, Y_1, 0)
@simple_window1.opacity = OPACITY_1
@simple_window1.visible = $game_Switches[SWITVH_1]
unless $game_party.actors.size > 0
@simple_window1.visible = false
end
# 간이 윈도우 2를 작성
@simple_window2 = Window_MapStatus.new(X_2, Y_2, 1)
@simple_window2.opacity = OPACITY_2
@simple_window2.visible = $game_Switches[SWITVH_2]
unless $game_party.actors.size > 1
@simple_window2.visible = false
end
# 간이 윈도우 3을 작성
@simple_window3 = Window_MapStatus.new(X_3, Y_3, 2)
@simple_window3.opacity = OPACITY_3
@simple_window3.visible = $game_Switches[SWITVH_3]
unless $game_party.actors.size > 2
@simple_window3.visible = false
end
# 간이 윈도우 4를 작성
@simple_window4 = Window_MapStatus.new(X_4, Y_4, 3)
@simple_window4.opacity = OPACITY_4
@simple_window4.visible = $game_Switches[SWITVH_4]
unless $game_party.actors.size > 3
@simple_window4.visible = false
end

main_tokimiya # 구메소드의 호출

# 간이 윈도우의 해방
@simple_window1.dispose
@simple_window2.dispose
@simple_window3.dispose
@simple_window4.dispose
end

#---------------------------------------------------------------------
# ● 프레임 갱신
#---------------------------------------------------------------------
alias update_tokimiya update
def update
update_tokimiya # 구메소드의 호출
# 이전의 파라미터와 상위가 있으면, 내용을 갱신한다.
#
# 윈도우 1의 갱신.
if WIN_1 == true and $game_party.actors.size > 0
# 데이터의 갱신
actor = $game_party.actors[0]
factor_1 = @simple_window1.before_1[0] != actor.name
factor_2 = @simple_window1.before_1[1] != actor.hp
factor_3 = @simple_window1.before_1[2] != actor.sp
if factor_1 or factor_2 or factor_3
@simple_window1.before_1[0] = actor.name
@simple_window1.before_1[1] = actor.hp
@simple_window1.before_1[2] = actor.sp
@simple_window1.refresh(0)
end
# 비표시 기능의 실행
if @message_window.visible == true and $game_Switches[OPTION] == true
@simple_window1.before_1[3] = false
@simple_window1.visible = false
elsif @simple_window1.before_1[3] != $game_Switches[SWITVH_1]
@simple_window1.before_1[3] = $game_Switches[SWITVH_1]
@simple_window1.visible = $game_Switches[SWITVH_1]
end
end

# 윈도우 2의 갱신.
if WIN_2 == true and $game_party.actors.size > 1
# 데이터의 갱신
actor = $game_party.actors[1]
factor_1 = @simple_window2.before_2[0] != actor.name
factor_2 = @simple_window2.before_2[1] != actor.hp
factor_3 = @simple_window2.before_2[2] != actor.sp
if factor_1 or factor_2 or factor_3
@simple_window2.before_2[0] = actor.name
@simple_window2.before_2[1] = actor.hp
@simple_window2.before_2[2] = actor.sp
@simple_window2.refresh(1)
# 윈도우를 강제적으로 생성
@simple_window2.before_2[3] = true
@simple_window2.visible = true
end
# 비표시 기능의 실행
if @message_window.visible == true and $game_Switches[OPTION] == true
@simple_window2.before_2[3] = false
@simple_window2.visible = false
elsif @simple_window2.before_2[3] != $game_Switches[SWITVH_2]
@simple_window2.before_2[3] = $game_Switches[SWITVH_2]
@simple_window2.visible = $game_Switches[SWITVH_2]
end
# 엑터가 존재하지 않는데 윈도우가 표시된 채로의 경우.
elsif @simple_window2.visible == true and @simple_window2.before_2 != nil
# 윈도우를 소거.
@simple_window2.before_2[3] = false
@simple_window2.visible = false
end

# 윈도우 3의 갱신.
if WIN_3 == true and $game_party.actors.size > 2
# 데이터의 갱신
actor = $game_party.actors[2]
factor_1 = @simple_window3.before_3[0] != actor.name
factor_2 = @simple_window3.before_3[1] != actor.hp
factor_3 = @simple_window3.before_3[2] != actor.sp
if factor_1 or factor_2 or factor_3
@simple_window3.before_3[0] = actor.name
@simple_window3.before_3[1] = actor.hp
@simple_window3.before_3[2] = actor.sp
@simple_window3.refresh(2)
# 윈도우를 강제적으로 생성
@simple_window3.before_3[3] = true
@simple_window3.visible = true
end
# 비표시 기능의 실행
if @message_window.visible == true and $game_Switches[OPTION] == true
@simple_window3.before_3[3] = false
@simple_window3.visible = false
elsif @simple_window3.before_3[3] != $game_Switches[SWITVH_3]
@simple_window3.before_3[3] = $game_Switches[SWITVH_3]
@simple_window3.visible = $game_Switches[SWITVH_3]
end
# 엑터가 존재하지 않는데 윈도우가 표시된 채로의 경우.
elsif @simple_window3.visible == true and @simple_window3.before_3 != nil
# 윈도우를 소거.
@simple_window3.before_3[3] = false
@simple_window3.visible = false
end

# 윈도우 4의 갱신.
if WIN_4 == true and $game_party.actors.size > 3
# 데이터의 갱신
actor = $game_party.actors[3]
factor_1 = @simple_window4.before_4[0] != actor.name
factor_2 = @simple_window4.before_4[1] != actor.hp
factor_3 = @simple_window4.before_4[2] != actor.sp
if factor_1 or factor_2 or factor_3
@simple_window4.before_4[0] = actor.name
@simple_window4.before_4[1] = actor.hp
@simple_window4.before_4[2] = actor.sp
@simple_window4.refresh(3)
# 윈도우를 강제적으로 생성
@simple_window4.before_4[3] = true
@simple_window4. visible = true
end
# 비표시 기능의 실행
if @message_window.visible == true and $game_Switches[OPTION] == true
@simple_window4.before_4[3] = false
@simple_window4.visible = false
elsif @simple_window4.before_4[3] != $game_Switches[SWITVH_4]
@simple_window4.before_4[3] = $game_Switches[SWITVH_4]
@simple_window4.visible = $game_Switches[SWITVH_4]
end
# 엑터가 존재하지 않는데 윈도우가 표시된 채로의 경우.
elsif @simple_window4.visible == true and @simple_window4.before_4 != nil
# 윈도우를 소거.
@simple_window4.before_4[3] = false
@simple_window4.visible = false
end
end
end



#=========================================================================
# ■ Window_MapStatus
#=========================================================================
class Window_MapStatus < Window_Base
#--------------------------------------------------------------------------
# ○공개 인스턴스 변수
#--------------------------------------------------------------------------
attr_accessor :before_1 # 갱신전의 윈도우 1의 파라미터
attr_accessor :before_2 # 갱신전의 윈도우 2의 파라미터
attr_accessor :before_3 # 갱신전의 윈도우 3의 파라미터
attr_accessor :before_4 # 갱신전의 윈도우 4의 파라미터
#---------------------------------------------------------------------
# ● 프레임 갱신
#---------------------------------------------------------------------
def initialize(x, y, id)
super(x, y, 160,96)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 18
@before_1=[]
@before_2=[]
@before_3=[]
@before_4=[]
# 현단계의 엑터의 파라미터와 가시 상태를 기억.
data
# 항목의 묘화.
refresh(id)
end
#--------------------------------------------------------------------------
# ● 항목의 묘화
#--------------------------------------------------------------------------
def data
# 엑터 1의 기억(다만, 파티가 1명 이상의 경우)
if $game_party.actors.size > 0
actor = $game_party.actors[0]
@before_1 = [actor.name, actor.hp, actor.sp, true]
end
# 엑터 2의 기억(다만, 파티가 2명 이상의 경우)
if $game_party.actors.size > 1
actor = $game_party.actors[1]
@before_2 = [actor.name, actor.hp, actor.sp, true]
end
# 엑터 3의 기억(다만, 파티가 3명 이상의 경우)
if $game_party.actors.size > 2
actor = $game_party.actors[2]
@before_3 = [actor.name, actor.hp, actor.sp, true]
end
# 엑터 3의 기억(다만, 파티가 4명 이상의 경우)
if $game_party.actors.size > 3
actor = $game_party.actors[3]
@before_4 = [actor.name, actor.hp, actor.sp, true]
end
end
#--------------------------------------------------------------------------
# ● 항목의 묘화
#--------------------------------------------------------------------------
def refresh(id)
# 재묘화를 위해서(때문에) 일단 내용을 파기 한다
self.contents.clear
# 대응하는 엑터가 없으면, 아무것도하지 않고 종료한다.
actor = $game_party.actors[id]
if actor == nil
return
end
# 이름의 묘화
draw_actor_name(actor, 0, -5)
# HP의 묘화
if SET_SP[id]
draw_actor_hp_custom(actor, 0, 18)
else
draw_actor_hp_custom(actor, 0, 28)
end
# SP의 묘화
if SET_SP[id]
draw_actor_sp_custom(actor, 0, 36)
end
end

#--------------------------------------------------------------------------
# ● HP 의 묘화
# actor : 엑터
# x : 묘화처 X 좌표
# y : 묘화처 Y 좌표
# width : 묘화처의 폭
#--------------------------------------------------------------------------
def draw_actor_hp_custom(actor, x, y, width = 144)
# 캐릭터 라인 "HP" 를 묘화
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
# MaxHP 를 묘화 하는 스페이스가 있을까 계산
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
# HP 를 묘화
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(hp_x - 12, y, 48, 32, actor.hp.to_s, 2)
# MaxHP 를 묘화
if flag
self.contents.font.color = normal_color
self.contents.draw_text(hp_x + 48 - 12, y, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 60 - 12, y, 48, 32, actor.maxhp.to_s)
end
end
#--------------------------------------------------------------------------
# ● SP 의 묘화
# actor : 엑터
# x : 묘화처 X 좌표
# y : 묘화처 Y 좌표
# width : 묘화처의 폭
#--------------------------------------------------------------------------
def draw_actor_sp_custom(actor, x, y, width = 144)
# 캐릭터 라인 "SP" 를 묘화
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
# MaxSP 를 묘화 하는 스페이스가 있을까 계산
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
# SP 를 묘화
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(sp_x - 12, y, 48, 32, actor.sp.to_s, 2)
# MaxSP 를 묘화
if flag
self.contents.font.color = normal_color
self.contents.draw_text(sp_x + 48 - 12, y, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 60 - 12, y, 48, 32, actor.maxsp.to_s)
end
end
end

몇번을 해봤는데 계속 에러가 나더군요... 혹시 수정할 부분이란게 에러와 연관된 것입니까???
으음.. 이건가 싶어서 가져왔는데 제대로 안되서 아무리 살펴봐도 모르겠네요..

  @simple_window1.visible = $game_Switches[SWITVH_1]

이부분에서 부터 걸리다니.. 으음.. 암만생각해도 이상하다는..
?

  1. 쯔꾸르 mv 게임을 apk 파일로 변환했는데...

    Date2023.01.14 By박하맛 Views1330
    Read More
  2. 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요...

    Date2021.12.20 By백지씨 Views2627
    Read More
  3. apk포팅 승인 어케 하나요?

    Date2021.11.29 Bygame메이커xp Views1257
    Read More
  4. Yanfly님의 Action Sequence Pack 질문드립니다

    Date2021.07.15 ByNeuromancer Views1541
    Read More
  5. 싸게 MV 를 먼저? 아니면 돈을 더 들어서라도 MZ?

    Date2021.07.06 ByXatra Views1752
    Read More
  6. RMMV - 스탯창과 대화창 변견 관련 질문입니다. (초보입니다 도움좀 주세요 ㅜㅜ)

    Date2021.01.22 Byscribble Views1553
    Read More
  7. 아오오니를 하는 사람인데요 질문 두가지가 있어요

    Date2021.01.16 By오니개무서워 Views1634
    Read More
  8. 재밌는게임

    Date2020.12.07 Byland_tnt Views1455
    Read More
  9. c언어 질문

    Date2020.11.10 By세종기항19 Views1684
    Read More
  10. 코딩 질문

    Date2020.11.08 By세종기항19 Views1539
    Read More
  11. 혹시나 물어보는데

    Date2020.11.07 By드래곤규 Views1402
    Read More
  12. 오픈보 게임 더블드래곤 리로디드 얼티네이트에 대해 궁금

    Date2020.09.09 By이부닝 Views1224
    Read More
  13. 상태이상 확률 결정

    Date2020.09.02 By스트레이보우 Views1006
    Read More
  14. 다음 인디사이드 제작대회는 언제쯤 열릴까요?

    Date2020.05.23 ByWOONAALAA Views963
    Read More
  15. xp로 제작된 어플 실행자체가 안된다는 분이 있습니다.(제생각엔 apk로 변환하는 과정에서 버전자체가 낮은 것 같습니다)

    Date2020.05.04 By라엔 Views1415
    Read More
  16. apk 포팅하는데 게임 이름이 필요합니다 뜨는데

    Date2020.05.03 Bykashu Views1350
    Read More
  17. 쯔꾸르VX Ace렉먹음 도와주세요...

    Date2020.03.22 By랖랖 Views1780
    Read More
  18. 안녕하세요

    Date2020.02.14 By청월령 Views834
    Read More
  19. 포팅 중 '게임 이름이 필요합니다' 오류

    Date2020.02.11 By아이비스 Views817
    Read More
  20. RPGMV 거리 추적

    Date2020.01.19 By정욱 Views931
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 442 Next
/ 442


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)