2005.06.28 07:21

게이지바 위치

조회 수 393 추천 수 1 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
중간에 보면 super(0, 0, 204, 224) 라는 것이 있습니다.
여기서 앞에 두개를 조정해보세요....
x좌표와 y좌표이니 알아서 적정한 위치로 조정이 가능할꺼 같네요..
어딘지 정확한 위치가 찾기 힘드시면 Ctrl+F 아시죠??
그럼 수고하세요~


>캐릭터의 HP, SP, 그리고 경험치를 자동적으로 맵에서 게이지바로 표시하게 해주는 스크립트입니다. 액알 제작을 조금이나마 더 편하게 할 수 있게 되지요. 캐릭터의 이름, 레벨, 직업도 맵에서 같이 표시됩니다.
>
>이 스크립트의 가치는, 기존의 이벤트 커맨드를 사용해서 게이지를 만들어줘야 했던 번거로움을 덜어준다는 것입니다.
>
>
>파티원이 여러명일 경우 게임에서 L, R (Q, W)키를 누르면 어느 캐릭터의 게이지를 표시할지 바꿔줍니다.
>Main 위에 찔러넣으면 곧바로 적용됩니다.
>자작그림 파일을 사용할 경우 맨 끝의 주의사항을 읽으세요.
>
>
>리플 달아줘염~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>이건 그리고 메뉴에서 안겹치지만...렉 걸리는 거랑 속도는 좋은데...메뉴에서 겹치는것을
>비교하면서 만지다 보니 안겹치게 됐습니다..속도두 빠르고...ㅋㅋㅋ이건 제가 만든것임...
>
>
>#==============================================================================
># ■ Game_Actor
>#------------------------------------------------------------------------------
>#  엑터를 취급하는 클래스입니다. 이 클래스는 Game_Actors 클래스 ($game_actors)
># 의 내부에서 사용되어 Game_Party 클래스 ($game_party)로부터도 참조됩니다.
>#==============================================================================
>
>#==============================================================================
># ■ Window_Base
>#------------------------------------------------------------------------------
>#  게임중의 모든 윈도우의 슈퍼 클래스입니다.
>#==============================================================================
>
>class Window_Base < Window  
>#--------------------------------------------------------------------------
>  # ● 게이지바의 묘화
>  #     x    : 묘화처 X 좌표
>  #     y    : 묘화처 Y 좌표
>  #--------------------------------------------------------------------------  
>  def 게이지바그리기(현재포인트, 최고포인트, x, y, width, height = 30) #별도의 게이지바그림파일을 사용할 경우 교체
>    @풀게이지바색 = Color.new(255, 0, 0, 255) #빨간색으로 설정되어 있습니다. 게이지바가 꽉찼을 경우 보이지 않습니다.
>    @현재게이지바색 = Color.new(0, 100, 100, 255) #진한초록으로 설정되어 있습니다.
>    self.contents.fill_rect(x, y, width, height, @풀게이지바색)
>    self.contents.fill_rect(x, y, (width * 현재포인트) / 최고포인트, height, @현재게이지바색)
>  end
>end  
>class Game_Actor < Game_Battler
>  attr_reader   :exp_list
>end
>#==============================================================================
># ■ Window_Map_Name
>#------------------------------------------------------------------------------
>#  マップ名を表示するウィンドウです。
>#==============================================================================
>class Window_Map게이지 < Window_Base
>  attr_accessor :actor
>  #--------------------------------------------------------------------------
>  # ● オブジェクト初期
>  #--------------------------------------------------------------------------
>  def initialize(actor)
>    super(0, 0, 204, 224)
>    self.contents = Bitmap.new(width - 32, height - 32)
>    @actor = actor
>    @showing_time = 0
>  end
>#게이지 표시 화면
>  def 게이지
>    self.contents.clear
>    게이지바그리기(@actor.hp, @actor.maxhp, 0, 64, 172)
>    게이지바그리기(@actor.sp, @actor.maxsp, 0, 96, 172)    
>    #@actor.exp - @actor.exp_list[@actor.level] 현재렙 경험치 초기치에서 현재 경험치를 뺀값.
>    #즉, 게이지에서 표시되는 값이다.
>    #다음 렙의 경험치를 구한다.
>    #@actor.next_rest_exp_s.to_i+@actor.exp
>    #다음 렙의 경험치에서 현재렙 경험치 초기치를 뺀다.
>     #@actor.next_rest_exp_s.to_i+@actor.exp- @actor.exp_list[@actor.level]
>    게이지바그리기(@actor.exp - @actor.exp_list[@actor.level], @actor.next_rest_exp_s.to_i+@actor.exp - @actor.exp_list[@actor.level], 0, 128, 172)
>    draw_actor_class(@actor, 32, 32)
>    draw_actor_level(@actor, 96, 32)
>    draw_actor_name(@actor, 4, 0)
>    draw_actor_hp(@actor, 0, 64, 172)
>    draw_actor_sp(@actor, 0, 96, 172)
>    draw_actor_exp(@actor, 0, 128)
>  end
>end
>
>#==============================================================================
># ■ Scene_Map
>#==============================================================================
>class Scene_Map
>  #--------------------------------------------------------------------------
>  # ● メイン?理
>  #--------------------------------------------------------------------------
>alias thdo_main main
>  alias thdo_initialize initialize
>  def initialize
>    @actor_index = 0
>    thdo_initialize
>  end
>  def main
>    # 地名ウィンドウを作成
>    @actor = $game_party.actors[@actor_index]
>    @map게이지window = Window_Map게이지.new(@actor)
>    @map게이지window.opacity = 0
>    # ?す
>    thdo_main
>    # 地名ウィンドウを解放
>    @map게이지window.dispose
>  end
>  #--------------------------------------------------------------------------
>  # ● 프레임 갱신
>  #--------------------------------------------------------------------------
>  def update
>    # 루프
>    loop do
>      # 맵, interpreter, 플레이어의 순서에 갱신
>      # (이 갱신 순서는, 이벤트를 실행하는 조건이 채워지고 있을 때
>      #  플레이어에 일순간 이동할 기회를 주지 않는등의 이유로써 중요)
>      $game_map.update
>      $game_system.map_interpreter.update
>      $game_player.update
>      # 시스템 (타이머), 화면을 갱신
>      $game_system.update
>      $game_screen.update
>      # 플레이어의 장소 이동중이 아니면 루프를 중단
>      unless $game_temp.player_transferring
>        break
>      end
>      # 장소 이동을 실행
>      transfer_player
>      # 트란지션 처리중의 경우, 루프를 중단
>      if $game_temp.transition_processing
>        break
>      end
>    end
>    # 스프라이트 세트를 갱신
>    @spriteset.update
>    # 메세지 윈도우를 갱신
>    @message_window.update
>    # 게임 오버의 경우
>    if $game_temp.gameover
>      # 게임 오버 화면으로 전환하고
>      $scene = Scene_Gameover.new
>      return
>    end
>    # 타이틀 화면에 되돌리는 경우
>    if $game_temp.to_title
>      # 타이틀 화면으로 전환하고
>      $scene = Scene_Title.new
>      return
>    end
>    # 트란지션 처리중의 경우
>    if $game_temp.transition_processing
>      # 트란지션 처리중 플래그를 클리어
>      $game_temp.transition_processing = false
>      # 트란지션 실행
>      if $game_temp.transition_name == ""
>        Graphics.transition(20)
>      else
>        Graphics.transition(40, "Graphics/Transitions/" +
>          $game_temp.transition_name)
>      end
>    end
>    # 메세지 윈도우 표시중의 경우
>    if $game_temp.message_window_showing
>      return
>    end
>    # 엔카운트카운트가 0 으로, 엔카운트리스트가 하늘이 아닌 경우
>    if $game_player.encounter_count == 0 and $game_map.encounter_list != []
>      # 이벤트 실행중이나 엔카운트 금지중이 아니면
>      unless $game_system.map_interpreter.running?  or
>             $game_system.encounter_disabled
>        # 배틀 호출 플래그를 세트
>        $game_temp.battle_calling = true
>        $game_temp.battle_can_escape = true
>        $game_temp.battle_can_lose = false
>        $game_temp.battle_proc = nil
>        # 무리를 결정
>        n = rand($game_map.encounter_list.size)
>        $game_temp.battle_troop_id = $game_map.encounter_list[n]
>      end
>    end
>        
>    #다음 엑터에게
>    if Input.trigger? (Input::R)
>            unless $game_system.map_interpreter.running?  or
>             $game_system.menu_disabled
>      @actor_index += 1
>      @actor_index %= $game_party.actors.size
>      @map게이지window.actor = $game_party.actors[@actor_index]
>      @map게이지window.게이지
>      end
>    end
>    #전의 엑터에게
>    if Input.trigger? (Input::L)
>            unless $game_system.map_interpreter.running?  or
>             $game_system.menu_disabled
>      @actor_index += $game_party.actors.size - 1
>      @actor_index %= $game_party.actors.size
>      @map게이지window.actor = $game_party.actors[@actor_index]
>      @map게이지window.게이지
>      end
>    end
>#THDO스크립트 종료
>    # B 버튼이 밀렸을 경우
>    if Input.trigger? (Input::B)
>      # 이벤트 실행중이나 메뉴 금지중이 아니면
>      unless $game_system.map_interpreter.running?  or
>             $game_system.menu_disabled
>        # 메뉴 호출 플래그와 SE 연주 플래그를 세트
>        $game_temp.menu_calling = true
>        $game_temp.menu_beep = true
>      end
>    end
>    # 디버그 모드가 ON 또한 F9 키가 밀리고 있는 경우
>    if $DEBUG and Input.press? (Input::F9)
>      # 디버그 호출 플래그를 세트
>      $game_temp.debug_calling = true
>    end
>    # 플레이어의 이동중이 아닌 경우
>    unless $game_player.moving?
>      @map게이지window.게이지#THDO스크립트
>      # 각종 화면의 호출을 실행
>      if $game_temp.battle_calling
>        call_battle
>      elsif $game_temp.shop_calling
>        call_shop
>      elsif $game_temp.name_calling
>        call_name
>      elsif $game_temp.menu_calling
>        call_menu
>      elsif $game_temp.save_calling
>        call_save
>      elsif $game_temp.debug_calling
>        call_debug
>      end
>    end
>  end
>end
>
>
>
>주의 !!!!
>위 스크립트는 게이지바의 그림파일 없이 사용합니다. 별도로 게이지바 그림을 사용할 경우 위의 갈색으로 쓰여진 "게이지바그리기" 메소드를 아래 메소드로 교체해주세요.
>
>  def 게이지바그리기(현재포인트, 최고포인트, x, y, width, height = 30) #따로 게이지 그림 파일을 사용할 경우
>    @빈게이지바그림 = RPG::Cache.picture("빈게이지그림파일명")
>    @현재게이지바그림 = RPG::Cache.picture("게이지바그림파일명")
>    @빈게이지바 = Rect.new(x, y, width, height)
>    @빈게이지바 = self.contents.stretch_blt(@빈게이지바, @빈게이지바그림,  @빈게이지바그림.rect)
>    @현재게이지바 = Rect.new(x, y, (width * 현재포인트) / 최고포인트, height)
>    @현재게이지바 = self.contents.stretch_blt(@현재게이지바, @현재게이지바그림,  @현재게이지바그림.rect)
>  end
>
>그리고 빈게이지그림파일명이라고 된 곳에 게이지가 비어있을 때의 그림의 파일명을, 현재게이지바그림파일명이라고 된 곳에 게이지가 차있을 때의 그림의 파일명을 넣어주세요.
>
>
>
>이걸로 만들었거든요?? 근데.. 위치를 바꿀수 없을까요..?
>오른쪽아래로 내리고 싶은데.. 알려주세요
?

  1. @brrsim_7텔레그램 선불유심내구제 급전 뽀로로통신 선불유심매입 뽀로로통신 선불유심현금화하는업체 선불유심구매 간편무서류소액급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views75
    Read More
  2. 선불유심내구제 텔레그램@brrsim_7 선불유심매입 선불유심구매 뽀로로통신 급전 대학생내구제 비상금 연체자바로소액급전 주말소액급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views105
    Read More
  3. @brrsim_7텔레그램 선불유심내구제 선불유심매입 선불폰내구제 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 무직신불자소액급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views76
    Read More
  4. 선불유심내구제 텔레그램@brrsim_7 급전 선불유심매입 뽀로로통신 청년비상금급전 내구제소액 소액급전 정식업체 선불유심구매

    Date2026.07.07 By선불유심내구제뽀로로통신 Views92
    Read More
  5. 선불유심내구제 텔레그램@brrsim_7 뽀로로통신 급전 선불유심매입 신불자소액내구제 연체자바로소액급전 선불유심구매 바로모바일급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views91
    Read More
  6. 선불유심삽니다 텔레그램@brrsim_7 선불유심내구제 뽀로로통신 선불유심매입 선불유심구매 소액내구제 급전 연체대납 바로소액급전 법인소액작업급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views97
    Read More
  7. @brrsim_7텔레그램 선불폰유심내구제 선불유심매입 뽀로로통신 급전 선불유심내구제 급전해결내구제 선불유심현금화하는업체 선불유심구매 바로무직자급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views76
    Read More
  8. 선불유심매입 텔레그램@brrsim_7 선불유심내구제 뽀로로통신 바로소액내구제급전 선불유심구매 급전 선불유심매입 바로소액급전 무서류무방문급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views95
    Read More
  9. @brrsim_7텔레그램 선불유심내구제 선불유심매입 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 백수바로급전내구제

    Date2026.07.07 By선불유심내구제뽀로로통신 Views100
    Read More
  10. 선불유심내구제 텔레그램@brrsim_7 선불유심매입 뽀로로통신 소액급전내구제 급전 연체자바로소액급전 선불유심구매 대학생용돈

    Date2026.07.07 By선불유심내구제뽀로로통신 Views92
    Read More
  11. @brrsim_7텔레그램 선불유심내구제 뽀로로통신 급전 선불유심매입 유심현금화하는업체 무직비상금바로급전 선불유심구매

    Date2026.07.07 By선불유심내구제뽀로로통신 Views83
    Read More
  12. 선불유심내구제 정식업체 텔레그램@brrsim_7선불유심매입 뽀로로통신 소상공인긴급생활안정자금 급전 선불유심구매 선불유심내구제 소액급전대출 바로신불급전가능

    Date2026.07.07 By선불유심내구제뽀로로통신 Views74
    Read More
  13. @brrsim_7텔레그램 선불유심매입 선불유심내구제 뽀로로통신 선불유심현금화하는업체 프리랜서소액급전 선불폰유심매입합니다 급전 선불유심구매 바로정산

    Date2026.07.07 By선불유심내구제뽀로로통신 Views93
    Read More
  14. @brrsim_7텔레그램 선불유심내구제 선불유심매입 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 백수바로급전내구제

    Date2026.07.06 By선불유심내구제뽀로로통신 Views130
    Read More
  15. 쯔꾸르 mv 게임을 apk 파일로 변환했는데...

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

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

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

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

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

    Date2021.01.22 Byscribble Views2506
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 443 Next
/ 443


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

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