질문과 답변

Extra Form
1.jpg


2.jpg



적 이름에 문장옵션이 가능한가 싶어 넣어봤더니 적용되지 않고 문장옵션 부호가 그대로 출력되네요.

혹시 몬스터 이름에 문장옵션이 적용 가능하도록 수정이 가능할까요? 


아, 참고로  저 몬스터 커서 스크립트는 http://www.atelier-rgss.com/RGSS/Battle/ACE_BAT13.html  를 사용했습니다.

Comment '4'
  • profile
    9qxb6 2015.04.20 23:23
    아래의 스크립트를 한 번 써보세요.
    http://rmrk.net/index.php/topic,44810.0.html
  • ?
    에뎀이 2015.04.21 09:14
    아... 안타깝지만 안 먹히네요 ㅠ ㅠ 여전히 부호 그대로 출력이 됩니다.
  • profile
    습작 2015.04.21 10:47

    class Sprite_Battle_Cursor < Sprite
      #--------------------------------------------------------------------------
      def refresh_cursor_name
        @cursor_name_enemy = $game_temp.battle_cursor[3]
        @cursor_name.bitmap.clear
        draw_text_ex(@cursor_name.bitmap,0,0,@cursor_name_enemy.to_s)
      end
      #--------------------------------------------------------------------------
      def draw_text_ex(bitmap, x, y, text)
        reset_font_settings(bitmap)
        text = convert_escape_characters(text)
        pos = {:x => x, :y => y, :new_x => x, :height => calc_line_height(bitmap, text)}
        process_character(bitmap, text.slice!(0, 1), text, pos) until text.empty?
      end
      #--------------------------------------------------------------------------
      def reset_font_settings(bitmap)
        change_color(bitmap, normal_color)
        bitmap.font.size = Font.default_size
        bitmap.font.bold = Font.default_bold
        bitmap.font.italic = Font.default_italic
      end
      #--------------------------------------------------------------------------
      def convert_escape_characters(text)
        result = text.to_s.clone
        result.gsub!(/\\/)            { "\e" }
        result.gsub!(/\e\e/)          { "\\" }
        result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] }
        result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] }
        result.gsub!(/\eN\[(\d+)\]/i) { actor_name($1.to_i) }
        result.gsub!(/\eP\[(\d+)\]/i) { party_member_name($1.to_i) }
        result.gsub!(/\eG/i)          { Vocab::currency_unit }
        result
      end
      #--------------------------------------------------------------------------
      def process_character(bitmap, c, text, pos)
        case c
        when "\n"
          process_new_line(bitmap, text, pos)
        when "\f"
          process_new_page(text, pos)
        when "\e"
          process_escape_character(bitmap, obtain_escape_code(text), text, pos)
        else
          process_normal_character(bitmap, c, pos)
        end
      end
      #--------------------------------------------------------------------------
      def process_new_line(bitmap, text, pos)
        pos[:x] = pos[:new_x]
        pos[:y] += pos[:height]
        pos[:height] = calc_line_height(bitmap, text)
      end
      #--------------------------------------------------------------------------
      def process_new_page(text, pos)
      end
      #--------------------------------------------------------------------------
      def obtain_escape_code(text)
        text.slice!(/^[\$\.\|\^!><\{\}\\]|^[A-Z]+/i)
      end
      #--------------------------------------------------------------------------
      def obtain_escape_param(text)
        text.slice!(/^\[\d+\]/)[/\d+/].to_i rescue 0
      end
      #--------------------------------------------------------------------------
      def process_escape_character(bitmap, code, text, pos)
        case code.upcase
        when 'C'
          change_color(bitmap, text_color(obtain_escape_param(text)))
        when 'I'
          process_draw_icon(bitmap, obtain_escape_param(text), pos)
        when '{'
          make_font_bigger(bitmap)
        when '}'
          make_font_smaller(bitmap)
        end
      end
      #--------------------------------------------------------------------------
      def process_normal_character(bitmap, c, pos)
        text_width = bitmap.text_size(c).width
        bitmap.draw_text(pos[:x], pos[:y], text_width * 2, pos[:height], c)
        pos[:x] += text_width
      end
      #--------------------------------------------------------------------------
      def change_color(bitmap, color, enabled = true)
        bitmap.font.color.set(color)
        bitmap.font.color.alpha = translucent_alpha unless enabled
      end
      #--------------------------------------------------------------------------
      def text_color(n)
        windowskin = Cache.system("Window")
        windowskin.get_pixel(64 + (n % 8) * 8, 96 + (n / 8) * 8)
      end
      #--------------------------------------------------------------------------
      def normal_color;      text_color(0);   end;
      def system_color;      text_color(16);  end;
      def crisis_color;      text_color(17);  end;
      def knockout_color;    text_color(18);  end;
      def gauge_back_color;  text_color(19);  end;
      def hp_gauge_color1;   text_color(20);  end;
      def hp_gauge_color2;   text_color(21);  end;
      def mp_gauge_color1;   text_color(22);  end;
      def mp_gauge_color2;   text_color(23);  end;
      def mp_cost_color;     text_color(23);  end;
      def power_up_color;    text_color(24);  end;
      def power_down_color;  text_color(25);  end;
      def tp_gauge_color1;   text_color(28);  end;
      def tp_gauge_color2;   text_color(29);  end;
      def tp_cost_color;     text_color(29);  end;
      #--------------------------------------------------------------------------
      def pending_color
        windowskin.get_pixel(80, 80)
      end
      #--------------------------------------------------------------------------
      def translucent_alpha
        return 160
      end
      #--------------------------------------------------------------------------
      def process_draw_icon(bitmap, icon_index, pos)
        draw_icon(bitmap, icon_index, pos[:x], pos[:y])
        pos[:x] += 24
      end
      #--------------------------------------------------------------------------
      def draw_icon(bitmap, icon_index, x, y, enabled = true)
        icon_bitmap = Cache.system("Iconset")
        rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
        bitmap.blt(x, y, icon_bitmap, rect, enabled ? 255 : translucent_alpha)
      end
      #--------------------------------------------------------------------------
      def make_font_bigger(bitmap)
        bitmap.font.size += 8 if bitmap.font.size <= 64
      end
      #--------------------------------------------------------------------------
      def make_font_smaller(bitmap)
        bitmap.font.size -= 8 if bitmap.font.size >= 16
      end
      #--------------------------------------------------------------------------
      def calc_line_height(bitmap, text, restore_font_size = true)
        result = [line_height, bitmap.font.size].max
        last_font_size = bitmap.font.size
        text.slice(/^.*$/).scan(/\e[\{\}]/).each do |esc|
          make_font_bigger(bitmap)  if esc == "\e{"
          make_font_smaller(bitmap) if esc == "\e}"
          result = [result, bitmap.font.size].max
        end
        bitmap.font.size = last_font_size if restore_font_size
        result
      end
      #--------------------------------------------------------------------------
      def line_height
        return 24
      end
      #--------------------------------------------------------------------------
    end


    이걸 추가하시면 될겁니다.

    몬스터 이름 표시 부분에서 draw_text_ex 메서드가 작동하도록 수정했습니다.

    다만, 전과 달리 몬스터 이름이 가운데 정렬은 되지 않을겁니다.

  • ?
    에뎀이 2015.04.21 11:10
    오, 마이 선샤인!!
    정말 감사드립니다. 덕분에 고민하던 문제가 해결되었어요. ^ ^

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12449
RMVXA 대쉬 금지 어떻게 하나요? 1 홍홍이1 2016.01.16 548
RMXP 음악 넣는 방법을 알려주세요 ㅎㅎ 1 좋은사람a 2010.10.05 549
RMXP 질문이염 ㅜㅜ 1 hero 2010.12.29 549
RMXP 아이템끼리 조합 어떻게하나요? 1 가나다라마바사아자 2011.01.02 550
RMVX 저 죄송하지만 vx의 관한 질문좀 4 형준 2011.01.19 550
RMVX 스크립트 오류 2 미르(Mir) 2014.05.05 550
RMVX 벽이나 장애물 뒤로 모습이 가려지면서 지나갈 수 있게 하는 방법은 없나요 2 file Poy 2014.10.19 550
RMVX VX 장비에 명중률, 회피율, 치명타율 부여를 어떻게 해주어야 하나요? 빡새 2013.07.03 551
RMVXA gate 설치 2 file jays 2014.03.22 551
RMVXA 버튼 입력 할때만 나타나는 그림 (랜턴, 손전등) 4 file 냐냐 2014.12.25 552
RMXP 제가 어렵게 액알 약간 성공했는데.. 1 Hsik 2010.10.06 552
RMVXA BGM에 관하여 2 4차원소녀 2014.05.17 552
RMVXA 프로젝트를 불러오는데, 실행이 안 됩니다. 3 file 으악새 2013.05.26 552
RMMV if 비교문 만드는 법? (제발 도와주세요.) RPG 메이커 MV 날짜 비교 2 file 가시밭 2015.10.31 552
RMVXA 이번에 험블번들에서 12달러로 전부 구매했습니다. 그런데 DLC는 어디에 저장되나요? 1 흰강아지 2014.06.04 553
RMVXA RPGVXACE 검사좀해주세요. 1 겜제작광 2013.07.24 553
RMXP 게임을 시작할때.. 2 아 이 2010.11.18 553
RMXP nerplayer3.0 설치 방법좀 알려주십시오;; 왕자 2011.01.10 553
RMXP 맵칩이 이상해요 1 file 크루즈 2011.02.06 553
RMXP 장비설명관련질문 밀키웨이 2014.05.05 553
Board Pagination Prev 1 ... 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 ... 516 Next
/ 516