조회 수 1738 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
아이템창만 필요해서 다른거 싹다 없애고 X 키 누르면 아이템창만 조그맣게 뜨게 할 순 없을까요?
스크립트 있으시다면 조심스럽게 부탁해봅니다:-)

Who's 워터프로젝트

profile

NAME: Water

Project name : water project



::  Thanks for play ::

?
  • profile
    천무 2016.01.30 19:18

    우선 키 입력으로 조건분기 여는방법은 아시죠? 안다고 가정하고 답변을 드리죠.

    우선 스키립트의 하나 새로 추가해주시고요.
    이름은 Scene_Item2
    내용은

    #==============================================================================
    # ■ Scene_Item
    #------------------------------------------------------------------------------
    #  아이템 화면의 처리를 실시하는 클래스입니다.
    #==============================================================================

    class Scene_Item2
    #--------------------------------------------------------------------------
    # ● 메인 처리
    #--------------------------------------------------------------------------
    def main
    # 헬프 윈도우, 아이템 윈도우를 작성
    @help_window = Window_Help.new
    @item_window = Window_Item.new
    # 헬프 윈도우를 관련지어
    @item_window.help_window = @help_window
    # 타겟 윈도우를 작성 (불가시·비액티브하게 설정)
    @target_window = Window_Target.new
    @target_window.visible = false
    @target_window.active = false
    # 트란지션 실행
    Graphics.transition
    # 메인 루프
    loop do
    # 게임 화면을 갱신
    Graphics.update
    # 입력 정보를 갱신
    Input.update
    # 프레임 갱신
    update
    # 화면이 바뀌면 루프를 중단
    if $scene != self
    break
    end
    end
    # 트란지션 준비
    Graphics.freeze
    # 윈도우를 해방
    @help_window.dispose
    @item_window.dispose
    @target_window.dispose
    end
    #--------------------------------------------------------------------------
    # ● 프레임 갱신
    #--------------------------------------------------------------------------
    def update
    # 윈도우를 갱신
    @help_window.update
    @item_window.update
    @target_window.update
    # 아이템 윈도우가 액티브의 경우: update_item 를 부른다
    if @item_window.active
    update_item
    return
    end
    # 타겟 윈도우가 액티브의 경우: update_target 를 부른다
    if @target_window.active
    update_target
    return
    end
    end
    #--------------------------------------------------------------------------
    # ● 프레임 갱신 (아이템 윈도우가 액티브의 경우)
    #--------------------------------------------------------------------------
    def update_item
    # B 버튼이 밀렸을 경우
    if Input.trigger?(Input::B)
    # 캔슬 SE 를 연주
    $game_system.se_play($data_system.cancel_se)
    # 메뉴 화면으로 전환해
    $scene = Scene_Map.new
    return
    end
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Input::C)
    # 아이템 윈도우로 현재 선택되고 있는 데이터를 취득
    @item = @item_window.item
    # 사용 아이템이 아닌 경우
    unless @item.is_a?(RPG::Item)
    # 버저 SE 를 연주
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    # 사용할 수 없는 경우
    unless $game_party.item_can_use?(@item.id)
    # 버저 SE 를 연주
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    # 결정 SE 를 연주
    $game_system.se_play($data_system.decision_se)
    # 효과 범위가 아군의 경우
    if @item.scope >= 3
    # 타겟 윈도우를 액티브화
    @item_window.active = false
    @target_window.x = (@item_window.index + 1) % 2 * 304
    @target_window.visible = true
    @target_window.active = true
    # 효과 범위 (단체/전체)에 따라 커서 위치를 설정
    if @item.scope == 4 || @item.scope == 6
    @target_window.index = -1
    else
    @target_window.index = 0
    end
    # 효과 범위가 아군 이외의 경우
    else
    # 코먼 이벤트 ID 가 유효의 경우
    if @item.common_event_id > 0
    # 코먼 이벤트 호출 예약
    $game_temp.common_event_id = @item.common_event_id
    # 아이템의 사용시 SE 를 연주
    $game_system.se_play(@item.menu_se)
    # 소모품의 경우
    if @item.consumable
    # 사용한 아이템을 1 줄인다
    $game_party.lose_item(@item.id, 1)
    # 아이템 윈도우의 항목을 재묘화
    @item_window.draw_item(@item_window.index)
    end
    # 맵 화면으로 전환해
    $scene = Scene_Map.new
    return
    end
    end
    return
    end
    end
    #--------------------------------------------------------------------------
    # ● 프레임 갱신 (타겟 윈도우가 액티브의 경우)
    #--------------------------------------------------------------------------
    def update_target
    # B 버튼이 밀렸을 경우
    if Input.trigger?(Input::B)
    # 캔슬 SE 를 연주
    $game_system.se_play($data_system.cancel_se)
    # 아이템 조각등에서 사용할 수 없게 되었을 경우
    unless $game_party.item_can_use?(@item.id)
    # 아이템 윈도우의 내용을 재작성
    @item_window.refresh
    end
    # 타겟 윈도우를 소거
    @item_window.active = true
    @target_window.visible = false
    @target_window.active = false
    return
    end
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Input::C)
    # 아이템을 다 사용했을 경우
    if $game_party.item_number(@item.id) == 0
    # 버저 SE 를 연주
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    # 타겟이 전체의 경우
    if @target_window.index == -1
    # 파티 전체에 아이템의 사용 효과를 적용
    used = false
    for i in $game_party.actors
    used |= i.item_effect(@item)
    end
    end
    # 타겟이 단체의 경우
    if @target_window.index >= 0
    # 타겟의 액터에게 아이템의 사용 효과를 적용
    target = $game_party.actors[@target_window.index]
    used = target.item_effect(@item)
    end
    # 아이템을 사용했을 경우
    if used
    # 아이템의 사용시 SE 를 연주
    $game_system.se_play(@item.menu_se)
    # 소모품의 경우
    if @item.consumable
    # 사용한 아이템을 1 줄인다
    $game_party.lose_item(@item.id, 1)
    # 아이템 윈도우의 항목을 재묘화
    @item_window.draw_item(@item_window.index)
    end
    # 타겟 윈도우의 내용을 재작성
    @target_window.refresh
    # 전멸의 경우
    if $game_party.all_dead?
    # 게임 오버 화면으로 전환해
    $scene = Scene_Gameover.new
    return
    end
    # 코먼 이벤트 ID 가 유효의 경우
    if @item.common_event_id > 0
    # 코먼 이벤트 호출 예약
    $game_temp.common_event_id = @item.common_event_id
    # 맵 화면으로 전환해
    $scene = Scene_Map.new
    return
    end
    end
    # 아이템을 사용하지 않았던 경우
    unless used
    # 버저 SE 를 연주
    $game_system.se_play($data_system.buzzer_se)
    end
    return
    end
    end
    end
     

     


    넣어주세요.

    이게뭐냐면 원래 아이템창 스크립트의 변형형입니다.
    제가 변형시킨거 ESC를 누를떄 원래 메뉴로가는걸 맵으로 가게 바꿨죠.
    맨위쯤 # 메뉴 화면으로 전환해 쪽 아래 1줄을 바꾼겁니다. 원래 Scene_Item 에서요.



    그리고 이 창은 스크립트로 호출할 수 있어요.

    $scene = Scene_Item2.new

    로 호출이 됩니다.

    그럼 특정 버튼누를때 이 스크립트를 호출되게만 하면 아이템창만 뜨고, 닫으면 그대로 창이 닫히게됩니다.
    꼭 아이템창 아니더라도 다른것도 다 이런식으로 수정해서 사용 가능합니다.

     

    원래의 스크립트에서 제가 수정한것 빨간처리 했으니 잘 보시고 그냥 갖다 붙여쓰시기보다는 내용을 한번 분석해보시면 도움이 될겁니다.

  • profile
    워터프로젝트 2016.01.30 23:14
    오오오오오오오오오오오오오오오오오오오오오오오 감사드립니다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  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(김원배) | 사신지(김병국)