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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
제가 이 스크립트 이용해서 게이지바를 만들려고 했는데

똑같이 했는데

게이지바가 화면상에 안뜨네요;;

어떻게 하는 거죠?

자세하게 설명좀 부탁드립니다.

#==============================================================================
# ■ 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
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
8827 형제들이여 !!! 나를 구제해다오!! Ress 2006.01.26 223
8826 형제들이여 !!! 나를 구제해다오!! KaSsia 2006.01.25 263
8825 rpg2003에서 music음향이 작업시에는 실행되는데 게임을 실행하면 않되네요 ★샤일☆ 2007.01.03 784
8824 RPG2003의 그림들의 사이즈... MiNi'M' 2006.02.21 821
8823 RPG만들기2003에 관하여...정말 굼금해요~!~부탁드림 ∑☆メ이누∴。』 2005.08.09 577
8822 게이지바 구동 방법좀 <<게이지 유>> file 랑이a 2006.07.03 429
8821 길드는 어떻게 만드나요? 루넨스 2009.06.15 974
8820 길드는 어떻게 만드나요? 제로스 2009.06.15 1232
8819 동영상 관련및.. 급해요 ㅠ RML 2006.07.12 1483
8818 마법 연계 다시 질문!!! 제발 대답부탁!!; file 나르카이제 2005.06.15 331
8817 몬스터가없으면 다른곳으로 자동이동가능? Novelist 2006.08.29 277
8816 몬스터가없으면 다른곳으로 자동이동가능? CredMotion 2006.08.29 341
8815 스크립트로요,, 이동하는걸 보드게임처럼 할순 없나요? XLostTimesX 2006.01.09 429
8814 아이템창 같은 단축창를 만들려고하는데..[rpg2003] ScolPion 2006.04.15 572
8813 아이템창 같은 단축창를 만들려고하는데..[rpg2003] 방콕족의생활 2006.04.15 786
8812 질문! file 『Q트_아키』 2005.05.22 494
8811 "스크립트 데이터 읽기 실패" 라고 뜨는데.. 김세츠나 2009.07.31 1062
8810 "클래스가 등록되지 않았습니다"라니 -0-;;[RPG2003] Chrishyua .E 2007.03.02 700
8809 "클래스가 등록되지 않았습니다"라니 -0-;;[RPG2003] =ROD= 2007.03.07 886
8808 "파일 dmd 은 열지 않습니다" 이리저디 옮겼는데.. 윈드 2006.08.18 208
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(김원배) | 사신지(김병국)