질문과 답변

RMXP
2014.05.15 17:07

메세지창 크기조절

조회 수 1821 추천 수 0 댓글 14
Atachment
첨부 '2'
Extra Form

메세지창 크기 조절 하는 법 알려주세요ㅠ

묻고 답하기에 있는 데 xp 스크립트랑 너무 다르네요

xp도 메세지창 조절하는 방법이 뭔가요?


가로 빈틈없이 꽉차게 나오게 하고 싶어요ㅠ

Comment '14'
  • ?
    Alkaid 2014.05.15 18:37

    def initialize
    super(0, 304, 640, 160)
    ..........


    **만일 대사의 길이에 따라서 메세지 창넓이가 변한다든가 하는 것을 원한다면 해당 기능을 지원하는 메세지 스크립트를 찾아보기 바랍니다.

  • ?
    제프 2014.05.15 18:40
    안됩니다ㅠㅠ
    대화창 크기 그대로인데요...ㅠ
  • ?
    Alkaid 2014.05.15 18:45
    Window_Message::initialize의 내용을 스크립트 에디터에서 새로 만든 빈 페이지에 붙여넣은 뒤 super 안에 있는 x/y좌표와 가로/세로 크기값을 변경해 보신 건가요?
  • ?
    제프 2014.05.15 18:49
    1.혹시 super( ? , ? , ? , ? ) 마다 의미하는 숫자가 뭔지 아시나요?
    2. 그리고 크기를 변경하니 이상하게 스크립트 충돌도 일어나네요ㅠ
  • ?
    AltusZeon 2014.05.15 19:23
    Alkaid 님이 말씀하신 순서대로입니다.
    super(x, y, width, height)
  • ?
    제프 2014.05.15 19:30
    혹시, 스크립트좀 봐주실 수 있나요?
    이거랑 그거랑 충돌이 일어나네요~


    class Window_Message < Window_Selectable
    DEFAULT_TYPING_ENABLE = true
    alias xrxs9_initialize initialize
    def initialize
    xrxs9_initialize
    if $soundname_on_speak == nil then
    $soundname_on_speak = ""
    end
    $gaiji_file = "./Graphics/Gaiji/sample.png"
    if FileTest.exist?($gaiji_file)
    @gaiji_cache = Bitmap.new($gaiji_file)
    else
    @gaigi_cache = nil
    end
    @opacity_text_buf = Bitmap.new(32, 32)
    end
    alias xrxs9_terminate_message terminate_message
    def terminate_message
    if @name_window_frame != nil
    @name_window_frame.dispose
    @name_window_frame = nil
    end
    if @name_window_text != nil
    @name_window_text.dispose
    @name_window_text = nil
    end
    xrxs9_terminate_message
    end
    def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.font.size = Font.default_size
    @x = @y = @max_x = @max_y = @indent = @lines = 0
    @face_indent = 0
    @opacity = 255
    @cursor_width = 0
    @write_speed = 0
    @write_wait = 0
    @mid_stop = false
    @face_file = nil
    @popchar = -2
    if $game_temp.choice_start == 0
    @x = 8
    end
    if $game_temp.message_text != nil
    @now_text = $game_temp.message_text
    if (/\A\\[Ff]\[(.+?)\]/.match(@now_text))!=nil then
    @face_file = $1 + ".png"
    self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
    @x = @face_indent = 128
    @now_text.gsub!(/\\[Ff]\[(.*?)\]/) { "" }
    end
    begin
    last_text = @now_text.clone
    @now_text.gsub!(/\\[Vv]\[([IiWwAaSs]?)([0-9]+)\]/) { convart_value($1, $2.to_i) }
    end until @now_text == last_text
    @now_text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
    $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
    end
    name_window_set = false
    if (/\\[Nn]ame\[(.+?)\]/.match(@now_text)) != nil
    name_window_set = true
    name_text = $1
    @now_text.sub!(/\\[Nn]ame\[(.*?)\]/) { "" }
    end
    if (/\\[Pp]\[([-1,0-9]+)\]/.match(@now_text))!=nil then
    @popchar = $1.to_i
    if @popchar == -1
    @x = @indent = 48
    @y = 4
    end
    @now_text.gsub!(/\\[Pp]\[([-1,0-9]+)\]/) { "" }
    end
    @max_choice_x = 0
    if @popchar >= 0
    @text_save = @now_text.clone
    @max_x = 0
    @max_y = 4
    for i in 0..3
    line = @now_text.split(/\n/)[3-i]
    @max_y -= 1 if line == nil and @max_y <= 4-i
    next if line == nil
    line.gsub!(/\\\w\[(\w+)\]/) { "" }
    cx = contents.text_size(line).width
    @max_x = cx if cx > @max_x
    if i >= $game_temp.choice_start
    @max_choice_x = cx if cx > @max_choice_x
    end
    end
    self.width = @max_x + 32 + @face_indent
    self.height = (@max_y - 1) * 32 + 64
    @max_choice_x -= 68
    @max_choice_x -= @face_indent*216/128
    else
    @max_x = self.width - 32 - @face_indent
    for i in 0..3
    line = @now_text.split(/\n/)[i]
    next if line == nil
    line.gsub!(/\\\w\[(\w+)\]/) { "" }
    cx = contents.text_size(line).width
    if i >= $game_temp.choice_start
    @max_choice_x = cx if cx > @max_choice_x
    end
    end
    @max_choice_x += 8
    end
    @cursor_width = 0
    @now_text.gsub!(/\\\\/) { "\000" }
    @now_text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
    @now_text.gsub!(/\\[Gg]/) { "\002" }
    @now_text.gsub!(/\\[Ss]\[([0-9]+)\]/) { "\003[#{$1}]" }
    @now_text.gsub!(/\\[Aa]\[(.*?)\]/) { "\004[#{$1}]" }
    @now_text.gsub!(/\\[.]/) { "\005" }
    @now_text.gsub!(/\\[|]/) { "\006" }
    @now_text.gsub!(/\\[>]/) { "\016" }
    @now_text.gsub!(/\\[<]/) { "\017" }
    @now_text.gsub!(/\\[!]/) { "\020" }
    @now_text.gsub!(/\\[~]/) { "\021" }
    @now_text.gsub!(/\\[Ee]\[([0-9]+)\]/) { "\022[#{$1}]" }
    @now_text.gsub!(/\\[Ii]/) { "\023" }
    @now_text.gsub!(/\\[Oo]\[([0-9]+)\]/) { "\024[#{$1}]" }
    @now_text.gsub!(/\\[Hh]\[([0-9]+)\]/) { "\025[#{$1}]" }
    @now_text.gsub!(/\\[Bb]\[([0-9]+)\]/) { "\026[#{$1}]" }
    @now_text.gsub!(/\\[Rr]\[(.*?)\]/) { "\027[#{$1}]" }
    reset_window
    if name_window_set
    off_x = 0
    off_y = -10
    space = 2
    x = self.x + off_x - space / 2
    y = self.y + off_y - space / 2
    w = self.contents.text_size(name_text).width + 8 + space
    h = 26 + space
    @name_window_frame = Window_Frame.new(x, y, w, h)
    @name_window_frame.z = self.z + 1
    x = self.x + off_x + 4
    y = self.y + off_y
    @name_window_text = Air_Text.new(x, y, name_text)
    @name_window_text.z = self.z + 2
    end
    end
    reset_window
    if $game_temp.choice_max > 0
    @item_max = $game_temp.choice_max
    self.active = true
    self.index = 0
    end
    if $game_temp.num_input_variable_id > 0
    digits_max = $game_temp.num_input_digits_max
    number = $game_variables[$game_temp.num_input_variable_id]
    @input_number_window = Window_InputNumber.new(digits_max)
    @input_number_window.number = number
    @input_number_window.x = self.x + 8
    @input_number_window.y = self.y + $game_temp.num_input_start * 32
    end
    end
    def update
    super
    if @fade_in
    self.contents_opacity += 24
    if @input_number_window != nil
    @input_number_window.contents_opacity += 24
    end
    if self.contents_opacity == 255
    @fade_in = false
    end
    return
    end
    @now_text = nil if @now_text == ""
    if @now_text != nil and @mid_stop == false
    if @write_wait > 0
    @write_wait -= 1
    return
    end
    text_not_skip = DEFAULT_TYPING_ENABLE
    while true
    @max_x = @x if @max_x < @x
    @max_y = @y if @max_y < @y
    if (c = @now_text.slice!(/./m)) != nil
    if c == "\000"
    c = "\\"
    end
    if c == "\001"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    color = $1.to_i
    if color >= 0 and color <= 7
    self.contents.font.color = text_color(color)
    if @opacity != nil
    color = self.contents.font.color
    self.contents.font.color = Color.new(color.red, color.green, color.blue, color.alpha * @opacity / 255)
    end
    end
    c = ""
    end
    if c == "\002"
    if @gold_window == nil and @popchar <= 0
    @gold_window = Window_Gold.new
    @gold_window.x = 560 - @gold_window.width
    if $game_temp.in_battle
    @gold_window.y = 192
    else
    @gold_window.y = self.y >= 128 ? 32 : 384
    end
    @gold_window.opacity = self.opacity
    @gold_window.back_opacity = self.back_opacity
    end
    c = ""
    end
    if c == "\003"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    speed = $1.to_i
    if speed >= 0 and speed <= 19
    @write_speed = speed
    end
    c = ""
    end
    if c == "\004"
    @now_text.sub!(/\[(.*?)\]/, "")
    buftxt = $1.dup.to_s
    if buftxt.match(/\//) == nil and buftxt != "" then
    $soundname_on_speak = "Audio/SE/" + buftxt
    else
    $soundname_on_speak = buftxt.dup
    end
    c = ""
    elsif c == "\004"
    c = ""
    end
    if c == "\005"
    @write_wait += 5
    c = ""
    end
    if c == "\006"
    @write_wait += 20
    c = ""
    end
    if c == "\016"
    text_not_skip = false
    c = ""
    end
    if c == "\017"
    text_not_skip = true
    c = ""
    end
    if c == "\020"
    @mid_stop = true
    c = ""
    end
    if c == "\021"
    terminate_message
    return
    end
    if c == "\023"
    @indent = @x
    c = ""
    end
    if c == "\024"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    @opacity = $1.to_i
    color = self.contents.font.color
    self.contents.font.color = Color.new(color.red, color.green, color.blue, color.alpha * @opacity / 255)
    c = ""
    end
    if c == "\025"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    self.contents.font.size = [[$1.to_i, 6].max, 32].min
    c = ""
    end
    if c == "\026"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    @x += $1.to_i
    c = ""
    end
    if c == "\027"
    @now_text.sub!(/\[(.*?)\]/, "")
    @x += ruby_draw_text(self.contents, @x, @y * line_height + (line_height - self.contents.font.size), $1, @opacity)
    if $soundname_on_speak != ""
    Audio.se_play($soundname_on_speak)
    end
    c = ""
    end
    if c == "\030"
    @now_text.sub!(/\[(.*?)\]/, "")
    self.contents.blt(@x , @y * line_height + 8, RPG::Cache.icon($1), Rect.new(0, 0, 24, 24))
    if $soundname_on_speak != ""
    Audio.se_play($soundname_on_speak)
    end
    @x += 24
    c = ""
    end
    if c == "\n"
    @lines += 1
    @y += 1
    @x = 0 + @indent + @face_indent
    if @lines >= $game_temp.choice_start
    @x = 8 + @indent + @face_indent
    @cursor_width = @max_choice_x
    end
    c = ""
    end
    if c == "\022"
    @now_text.sub!(/\[([0-9]+)\]/, "")
    @x += gaiji_draw(4 + @x, @y * line_height + (line_height - self.contents.font.size), $1.to_i)
    c = ""
    end
    if c != ""
    self.contents.draw_text(4+@x, 32 * @y, 40, 32, c)
    @x += self.contents.text_size(c).width
    if $soundname_on_speak != "" then
    Audio.se_play($soundname_on_speak)
    end
    end
    if Input.press?(Input::B)
    text_not_skip = false
    end
    else
    text_not_skip = true
    break
    end
    if text_not_skip
    break
    end
    end
    @write_wait += @write_speed
    return
    end
    if @input_number_window != nil
    @input_number_window.update
    if Input.trigger?(Input::C)
    $game_system.se_play($data_system.decision_se)
    $game_variables[$game_temp.num_input_variable_id] =
    @input_number_window.number
    $game_map.need_refresh = true
    @input_number_window.dispose
    @input_number_window = nil
    terminate_message
    end
    return
    end
    if @contents_showing
    if $game_temp.choice_max == 0
    self.pause = true
    end
    if Input.trigger?(Input::B)
    if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
    $game_system.se_play($data_system.cancel_se)
    $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
    terminate_message
    end
    end
    if Input.trigger?(Input::C)
    if $game_temp.choice_max > 0
    $game_system.se_play($data_system.decision_se)
    $game_temp.choice_proc.call(self.index)
    end
    if @mid_stop
    @mid_stop = false
    return
    else
    terminate_message
    end
    end
    return
    end
    if @fade_out == false and $game_temp.message_text != nil
    @contents_showing = true
    $game_temp.message_window_showing = true
    refresh
    Graphics.frame_reset
    self.visible = true
    self.contents_opacity = 0
    if @input_number_window != nil
    @input_number_window.contents_opacity = 0
    end
    @fade_in = true
    return
    end
    if self.visible
    @fade_out = true
    self.opacity -= 48
    if self.opacity == 0
    self.visible = false
    @fade_out = false
    $game_temp.message_window_showing = false
    end
    return
    end
    end
    def get_character(parameter)
    case parameter
    when 0
    return $game_player
    else
    events = $game_map.events
    return events == nil ? nil : events[parameter]
    end
    end
    def reset_window
    if @popchar >= 0
    events = $game_map.events
    if events != nil
    character = get_character(@popchar)
    x = [[character.screen_x - 0 - self.width / 2, 4].max, 636 - self.width].min
    y = [[character.screen_y - 48 - self.height, 4].max, 476 - self.height].min
    self.x = x
    self.y = y
    end
    elsif @popchar == -1
    self.x = -4
    self.y = -4
    self.width = 648
    self.height = 488
    else
    if $game_temp.in_battle
    self.y = 16
    else
    case $game_system.message_position
    when 0
    self.y = 16
    when 1
    self.y = 160
    when 2
    self.y = 304
    end
    self.x = 80
    if @face_file == nil
    self.width = 480
    else
    self.width = 600
    self.x -= 60
    end
    self.height = 160
    end
    end
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    if @face_file != nil
    self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
    end
    if @popchar == -1
    self.opacity = 255
    self.back_opacity = 0
    elsif $game_system.message_frame == 0
    self.opacity = 255
    self.back_opacity = 160
    else
    self.opacity = 0
    self.back_opacity = 160
    end
    end
    def gaiji_draw(x, y, num)
    if @gaiji_cache == nil
    return 0
    else
    if @gaiji_cache.width < num * 24
    return 0
    end
    if self.contents.font.size >= 20 and self.contents.font.size <= 24
    size = 24
    else
    size = self.contents.font.size * 100 * 24 / 2200
    end
    self.contents.stretch_blt(Rect.new(x, y, size, size), @gaiji_cache, Rect.new(num * 24, 0, 24, 24))
    if $soundname_on_speak != "" then
    Audio.se_play($soundname_on_speak)
    end
    return size
    end
    end
    def line_height
    return 32
    if self.contents.font.size >= 20 and self.contents.font.size <= 24
    return 32
    else
    return self.contents.font.size * 15 / 10
    end
    end
    def ruby_draw_text(target, x, y, str,opacity)
    sizeback = target.font.size
    target.font.size * 3 / 2 > 32 ? rubysize = 32 - target.font.size : rubysize = target.font.size / 2
    rubysize = [rubysize, 6].max
    opacity = [[opacity, 0].max, 255].min
    split_s = str.split(/,/)
    split_s[0] == nil ? split_s[0] = "" : nil
    split_s[1] == nil ? split_s[1] = "" : nil
    height = sizeback + rubysize
    width = target.text_size(split_s[0]).width
    target.font.size = rubysize
    ruby_width = target.text_size(split_s[1]).width
    target.font.size = sizeback
    buf_width = [target.text_size(split_s[0]).width, ruby_width].max
    width - ruby_width != 0 ? sub_x = (width - ruby_width) / 2 : sub_x = 0
    if opacity == 255
    target.font.size = rubysize
    target.draw_text(x + sub_x, y - target.font.size, target.text_size(split_s[1]).width, target.font.size, split_s[1])
    target.font.size = sizeback
    target.draw_text(x, y, width, target.font.size, split_s[0])
    return width
    else
    if @opacity_text_buf.width < buf_width or @opacity_text_buf.height < height
    @opacity_text_buf.dispose
    @opacity_text_buf = Bitmap.new(buf_width, height)
    else
    @opacity_text_buf.clear
    end
    @opacity_text_buf.font.size = rubysize
    @opacity_text_buf.draw_text(0 , 0, buf_width, rubysize, split_s[1], 1)
    @opacity_text_buf.font.size = sizeback
    @opacity_text_buf.draw_text(0 , rubysize, buf_width, sizeback, split_s[0], 1)
    if sub_x >= 0
    target.blt(x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
    else
    target.blt(x + sub_x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
    end
    return width
    end
    end
    def convart_value(option, index)
    option == nil ? option = "" : nil
    option.downcase!
    case option
    when "i"
    unless $data_items[index].name == nil
    r = sprintf("\030[%s]%s", $data_items[index].icon_name, $data_items[index].name)
    end
    when "w"
    unless $data_weapons[index].name == nil
    r = sprintf("\030[%s]%s", $data_weapons[index].icon_name, $data_weapons[index].name)
    end
    when "a"
    unless $data_armors[index].name == nil
    r = sprintf("\030[%s]%s", $data_armors[index].icon_name, $data_armors[index].name)
    end
    when "s"
    unless $data_skills[index].name == nil
    r = sprintf("\030[%s]%s", $data_skills[index].icon_name, $data_skills[index].name)
    end
    else
    r = $game_variables[index]
    end
    r == nil ? r = "" : nil
    return r
    end
    def dispose
    terminate_message
    if @gaiji_cache != nil
    unless @gaiji_cache.disposed?
    @gaiji_cache.dispose
    end
    end
    unless @opacity_text_buf.disposed?
    @opacity_text_buf.dispose
    end
    $game_temp.message_window_showing = false
    if @input_number_window != nil
    @input_number_window.dispose
    end
    super
    end
    def update_cursor_rect
    if @index >= 0
    n = $game_temp.choice_start + @index
    self.cursor_rect.set(8 + @indent + @face_indent, n * 32, @cursor_width, 32)
    else
    self.cursor_rect.empty
    end
    end
    end
    class Window_Frame < Window_Base
    def initialize(x, y, width, height)
    super(x, y, width, height)
    self.contents = nil
    end
    def dispose
    super
    end
    end
    class Air_Text < Window_Base
    def initialize(x, y, designate_text)
    super(x-16, y-16, 32 + designate_text.size * 12, 56)
    self.opacity = 0
    self.back_opacity = 0
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    w = self.contents.width
    h = self.contents.height
    self.contents.draw_text(0, 0, w, h, designate_text)
    end
    def dispose
    self.contents.clear
    super
    end
    end






    제가 만든 스크립트는 아닙니다.



    아래는 사용 방법입니다.





    \f[file]
    file로 지정한 얼굴 그래픽을 표시합니다.
    얼굴 그래픽의 규격은 2000/2003의 배로 96×96로 해야합니다.
    이것을 하나의 파일로 준비합니다.
    장소는/Graphics/Pictures/로,. png는 생략 가능합니다.
    . png 이외를 사용하는 경우, 문자를 고쳐 써 주세요.
    또 이 \f[]의 지정은 반드시 문장의 최초로 가 주세요.

    이 명령 사용시 가장 주의할 점은 한글파일로된 것을 읽지 못한다는 점입니다.
    실제 사용 예 입니다.
    \f[face] "안녕하세요~"
    위와같은 것을 그대로 대화창에 쓰시면 /Graphics/Pictures/ 안에 있는 face.png 파일을 불러오게
    되는 것입니다. 만약 bmp 라던가 하는 파일이면 확장자 명도 써줘야 하고요.

    \name[]
    []안으로 지정한 텍스트를 작은 네임 윈도우로 표시합니다.

    \p[]
    \p[-1]로, 전체 표시(문자만으로 중앙에)를 합니다.
    \p[0]으로, 주인공 위에 팝 합니다.
    \p[ID]로, 그 ID를 가지는 이벤트 위에 팝 합니다.

    \\
    문자「\」를 표시합니다.

    \V[n]
    변수 n차례에 격납된 내용을 표시합니다.
    또, 번호의 전에 특정의 문자를 넣는 일로, 지정 id의 아이템, 장비품,
    스킬의 이름을 설정된 아이콘과 함께 표시하는 것이 가능합니다.
    i(item) :아이템
    w(weapon):무기
    a(armor) :방어용 기구
    s(skill) :스킬

    \N[n]
    지정 id의 엑터의 이름을 표시합니다.

    \C[n]
    표시하는 문자색을 n차례로 변경합니다.
    디폴트의 문자색은 아래 강좌중 이 색을 결정하는 스크립트 수정법이 있습니다..

    \G
    소지금의 윈도우를 표시합니다.

    \s[n]
    문장의 표시 스피드를 변경합니다(0~19).
    숫자가 커질수록 늦어집니다.

    \H[n]
    표시하는 문자의 사이즈를 변경합니다(6~32).

    \O[n]
    표시하는 문자의 투과율을 지정합니다(0~255).

    \a[file]
    문자 표시시에 재생하는 SE를 지정한 파일로 변경합니다.
    데이터는. /Audio/SE/로 읽으러 갑니다. 폴더 지정은 생략 가능합니다.

    \.
    다음의 문자 표시까지1/4초간 웨이트 합니다.

    \| (시프트+\)
    다음의 문자 표시까지 1초간 웨이트 합니다.

    \>
    「\<」가 올 때까지 , 순간 표시합니다.

    \<
    「\>」로부터 시작된 순간 표시를 종료합니다.

    \!
    결정 키의 입력을 그 자리에서 기다립니다.

    \~
    키 입력을 기다리지 않고 , 그대로 윈도우를 닫습니다.

    \e[n]
    n차례의 외자를 표시합니다.
    외자 데이터는 세로폭 24Pixel * 옆무제한(24 * n)의 png 형식 화상으로,
    디폴트 설정에서는. /Graphics/Gaiji/sample.png를 참조하고 있습니다.
    외자 파일의 참조처는 글로벌 변수$gaiji_file로 설정되어 있습니다.
    문자 사이즈가 디폴트와 다른 경우는 사이즈 조정을 실시합니다만,
    화상이 엉성해져 버립니다(문자 사이즈가 20~24의 경우는 변경하지 않습니다).

    \I (영어 i)
    현재의 문자 표시 위치를 인덴트(인덴트 위치)로 설정합니다.

    \B[n]
    지정 Pixel 분의 공백을 삽입합니다.

    \R[$1,$2]
    루비 첨부의 문자를 표시합니다. $1하지만 본문,$2이 루비가 됩니다.
    $1그리고 지정한 캐릭터 라인은 1 프레임으로 표시됩니다.
    한 글자씩 표시시키고 싶은 경우는, 본문을 한 글자씩에 단락짓고 나서 루비를
    할당해 주세요.
    루비의 사이즈는 문자 사이즈의 것1/2입니다.
    문자 사이즈와 루비의 사이즈의 합계가 32를 넘는 경우,
    루비 사이즈는 32 - 문자 사이즈가 됩니다. 주의해 주세요.
    또, 루비 사이즈의 최소치는 6이 됩니다.

    RGSS 표준
    \\    문자「\」를 표시합니다.
    \n[n]   지정 id의 액터의 이름을 표시합니다.
    \c[n]   표시하는 문자색을 n차례로 변경합니다.

    0 : 하양
    1: 연한 파랑
    2: 연한 빨강
    3: 연두색
    4: 진한 하늘색
    5: 분홍
    6:노랑
    7:회색

    ◇외자 파일에 대응
    \Graphics\Gaiji  폴더를 신규에 작성해,
    그 폴더내에 있다 sample.png 파일을 참조합니다.
    (26행째 정도로 개조가능)
     외자 파일은 한 글자가 24×24의 화상으로 구성되어 있어
     옆에 늘어놓도록(듯이) 해 작성합니다(사이즈 제한은 마련하고 있지 않습니다).
     또, 문자 사이즈가 디폴트와 다른 경우에는, 확대 축소를 실시하도록(듯이) 되어 있습니다.
    다만, 화상이 엉성해져 버립니다(20~24에서는 사이즈 변경을 실시하지 않습니다).
  • ?
    Alkaid 2014.05.15 19:37
    일단 XRXS 메세지 스크립트가 아래에 오게 해야 합니다. initialize부분이 XP 기본 스크립트(또는 그것을 재정의한 것)의 그 부분 뒤에 자체 기능을 추가하는 형식으로 되어 있어서 기본 스크립트를 복사해서 창 크기를 변경했다면 창 크기 변경이 XRXS 메세지 스크립트 위에 와야 정상작동할 것 같습니다.
  • ?
    제프 2014.05.15 20:31
    이 위 스크립트를 추가하면
    super( ) 이 내용을 아무리 바꿔도 적용되지 않고
    위 스크립트를 삭제하면 적용이 됩니다.
  • ?
    AltusZeon 2014.05.15 19:41
    어떻게 충돌이 일어나는지에 대한 설명은 없군요.
    또한 게시판 상단에도 적혀있지만 스크립트의 첨부는 txt 파일로 해주시면 좋겠습니다.
    댓글에 붙여넣으실 경우 들여쓰기가 모두 사라져서 스크립트를 읽기가 어려워집니다.

    저는 개인적인 사정으로 인해 간단한 질문밖에 답해드릴 수 없습니다.
    제가 봐드리기는 어려울 것 같습니다.
  • ?
    제프 2014.05.15 20:32
    네~ 감사합니다.
  • ?
    제프 2014.05.15 19:30
    아래 스크립트와 충돌이 일어납니다
    혹시 봐주실 수 있나요?
  • ?

    외부에서 쓴 스크립트는 2가지인데..

    하나는 문자 색바꿔주고 기능적이 있는 메세지 스크립트이고

    하나는 메세지 문자암호 받는 스크립트입니다.


    윈도우 기본 스크립트와 충돌이 일어나는 듯한데 ㅠㅠ

  • ?
    허걱 2014.05.16 02:41
    동일한 영역을 사용하는 스크립트를 여러개 사용하는 경우 충돌이 일어날 가능성이 높습니다.
    댓글을 읽어보니 메시지 관련 스크립트를 여러개 사용중이신듯 한데...
    되도록이면 포기할건 과감히 포기하시는걸 추천합니다.

    또한 게시판 규칙이 지켜지지 않을경우 경고없이 삭제될 수 있습니다.
    댓글에도 스크립트의 전문같은 경우는 txt 파일로 따로 추가하시기 바랍니다.

    댓글로 적은 xrxs9 (?) 스크립트의 경우 reset_window 부분에서 포지션(팝업포함)에 따라서 좌표와 크기가 바뀌는듯 합니다. 해당 부분에서 수치가 바뀌는듯 하니 참고하시기 바랍니다.
  • ?
    제프 2014.05.17 00:00
    네! 명심하겠습니다
    스크립트는 txt파일을 추가할게요~
    허걱님 글마다 정말정말 감사합니다 !!

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 13179
RMXP 주인공 머리위에 이름을 뛰우지 못하게하는 방법이뭔가요? 2 천둥번들 2014.05.18 700
RMVX 명령어가 안돼요... 명령어 그대로 나와요ㅠ 3 file 호오라그렇군여 2014.05.18 583
RMVX Vx 타이머 여러개 불가능한건가요? 1 마지막싶새 2014.05.18 619
RMVXA 1번부터 30번까지 아이템 10개씩 획득? 1 도라란 2014.05.17 578
RMVXA BGM에 관하여 2 4차원소녀 2014.05.17 553
RMXP 타이틀 스크립트 방향키 변경! 6 file 제프 2014.05.17 915
RMVXA 사이드뷰로 전투할때 몬스터를 움직이게 만들고 싶습니다 돼지와함께영광을 2014.05.17 501
RMVXA 장비 슬롯을 바꾸고 싶습니다 Rebiart 2014.05.17 606
RMVXA 게임시작전 게임제작자나 제작회사 마크 띄우기 4 코코넛톡 2014.05.17 959
RMXP 타이틀 배경의 설정 2 file 제프 2014.05.17 893
RMXP [심화] 두 개의 스크립트 합체 4 file 제프 2014.05.17 735
RMVXA awesome light effects 그림 색조 3 구륨 2014.05.16 732
RMVXA 이벤트에서 사용 가능한 셀프 스위치 초기화 스크립트가 있나요? 3 GloomyDay 2014.05.16 884
RMXP RPG XP 윈도우 스킨 명칭! 6 file 제프 2014.05.16 1369
RMXP xp에도 페이스칩 넣는 방법 4 file 제프 2014.05.15 899
RMXP 메세지창 크기조절 14 file 제프 2014.05.15 1821
RMVX 이벤트로 술래잡기를 구현하는 방법 6 skeskin 2014.05.14 890
RMVXA 액터그래픽이 짤리는데 어떻게하죠? 3 file humuri 2014.05.14 629
RMVXA 데이터 베이스에서 가상으로 전투할 때 스킬에서 무기가 필요로 할 경우 사용이 불가능해지는 오류가 발생했습니다. 2 작삼 2014.05.14 521
RMVXA 변수 또는 소지금 표기하기 1 겜제작광 2014.05.13 900
Board Pagination Prev 1 ... 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 ... 517 Next
/ 517