질문과 답변

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 12442
RMVXA 제작 작업 하다가 컴퓨터옮겨서 작업 할때 1 GRM 2015.04.10 133
RMVXA 스크립트 분석 2 phoenix 2015.04.10 207
RMVXA 한 프로젝트에서 만든 맵을 다른 프로젝트로 옮기는 방법 2 vane 2015.04.11 188
RMVX 오류인가요? 12 file 아쳐 2015.04.12 146
RMVXA 이 스크립트의(오버레이 맵핑) 원리나 이유를 모르겠네요 2 file 마루TV 2015.04.12 316
RMXP RPG XP에서 현재 이런 배틀 시스템을 구현한 스크립트나 게임이 있나요? 1 제이딜라 2015.04.12 217
기타 게임 번역중인데 계속 오류가 뜹니다 도와주세요! 3 file park0520 2015.04.12 260
RMVXA 광산맵에서 카트타는거 움직이게 어떻게 설정하나요? 1 이정용짱 2015.04.14 211
기타 버튼조사가 안돼요 3 방스 2015.04.15 150
RMVXA [신입의 질문]이거 어떻게 해결하나요??(질문개수 2개) 2 file 만다라케 2015.04.16 595
RMVXA 다른 이벤트의 셀프 스위치를 컨트롤 하는 스크립트가 어떻게 되나요 ㅠㅠ 1 멜랑콜리 2015.04.17 286
RMVXA 무기 종류(타입) 추가나 수정이 가능할까요?? 2 멜랑콜리 2015.04.17 299
RMVXA 그림자 효과를 어떻게 줄 수 있을까요 ㅠㅠ 5 file 멜랑콜리 2015.04.17 767
RMVX 액터이동경로에대해서 1 아쳐 2015.04.17 142
RMVXA 몬스터 이름에 문장옵션 넣을 수 없을까요? 4 file 에뎀이 2015.04.19 290
RMVX 흐음..제가 액토이동경로 이벤트에대해 아쳐 2015.04.19 199
RMVXA [스크립트] 셀프 변수나 다른 이벤트의 셀프 스위치를 체크할 수 있을까요? 2 file 멜랑콜리 2015.04.20 292
RMVX RGSS2에서의 아이템의 이름제작 및 아이템의 갯수 확인 4 FNS키리토 2015.04.20 332
툴선택 모바일 쯔꾸르 게임 제작 문의 6 겸댕겨레 2015.04.21 1298
기타 xp타일셋을 ace로 바꾸는 법 무명시절 2015.04.21 181
Board Pagination Prev 1 ... 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 ... 516 Next
/ 516