VX 스크립트

Screen Resolution Version 0.3 (beta)





▶ mai 섹션 위쪽추 추가해주세요.
WIDTH = 640
HEIGHT = 480
DELTA_WIDTH   = (WIDTH - 544).abs
DELTA_HEIGHT = (HEIGHT - 416).abs

class Spriteset_Map
  def create_viewports
    @viewport1 = Viewport.new(0, 0, WIDTH, HEIGHT)
    @viewport2 = Viewport.new(0, 0, WIDTH, HEIGHT)
    @viewport3 = Viewport.new(0, 0, WIDTH, HEIGHT)
    @viewport2.z = 50
    @viewport3.z = 100
  end
end

class Spriteset_Battle
  def create_viewports
    @viewport1 = Viewport.new(0, 0, WIDTH, HEIGHT)
    @viewport2 = Viewport.new(0, 0, WIDTH, HEIGHT)
    @viewport3 = Viewport.new(0, 0, WIDTH, HEIGHT)
    @viewport2.z = 50
    @viewport3.z = 100
  end
end

class Window_Base < Window
  def x=(x)
    super(x + DELTA_WIDTH / 2)
  end
  
  def y=(y)
    super(y + DELTA_HEIGHT/ 2)
  end
end


class Scene_Battle < Scene_Base
  def create_info_viewport
    @info_viewport = Viewport.new(0, 288, WIDTH, HEIGHT)
    @info_viewport.z = 100
    @status_window = Window_BattleStatus.new
    @party_command_window = Window_PartyCommand.new
    @actor_command_window = Window_ActorCommand.new
    @status_window.viewport = @info_viewport
    @party_command_window.viewport = @info_viewport
    @actor_command_window.viewport = @info_viewport
    @status_window.x = 128
    @actor_command_window.x = 544
    @info_viewport.visible = false
  end
end

class Scene_Item < Scene_Base
   def start
    super
    create_menu_background
    @viewport = Viewport.new(0, 0, WIDTH, HEIGHT)
    @help_window = Window_Help.new
    @help_window.viewport = @viewport
    @item_window = Window_Item.new(0, 56, 544, 360)
    @item_window.help_window = @help_window
    @item_window.active = false
    @target_window = Window_MenuStatus.new(0,  0)
    hide_target_window
  end
  
  def show_target_window(right)
    @item_window.active = false
    width_remain = WIDTH - @target_window.width
    @target_window.x = right ? width_remain : 0
    @target_window.visible = true
    @target_window.active = true
    if right
      @viewport.rect.set(0, 0, width_remain, HEIGHT)
      @viewport.ox = 0
    else
      @viewport.rect.set(@target_window.width, 0, width_remain, HEIGHT)
      @viewport.ox = @target_window.width
    end
  end
  
  def hide_target_window
    @item_window.active = true
    @target_window.visible = false
    @target_window.active = false
    @viewport.rect.set(0, 0, WIDTH, HEIGHT)
    @viewport.ox = 0
  end
end

class Scene_Skill < Scene_Base
  def start
    super
    create_menu_background
    @actor = $game_party.members[@actor_index]
    @viewport = Viewport.new(0, 0, WIDTH, HEIGHT)
    @help_window = Window_Help.new
    @help_window.viewport = @viewport
    @status_window = Window_SkillStatus.new(0, 56, @actor)
    @status_window.viewport = @viewport
    @skill_window = Window_Skill.new(0, 112, 544, 304, @actor)
    @skill_window.viewport = @viewport
    @skill_window.help_window = @help_window
    @target_window = Window_MenuStatus.new(0, 0)
    hide_target_window
  end
  
  def show_target_window(right)
    @skill_window.active = false
    width_remain = WIDTH - @target_window.width
    @target_window.x = right ? width_remain : 0
    @target_window.visible = true
    @target_window.active = true
    if right
      @viewport.rect.set(0, 0, width_remain, HEIGHT)
      @viewport.ox = 0
    else
      @viewport.rect.set(@target_window.width, 0, width_remain, HEIGHT)
      @viewport.ox = @target_window.width
    end
  end

  def hide_target_window
    @skill_window.active = true
    @target_window.visible = false
    @target_window.active = false
    @viewport.rect.set(0, 0, WIDTH, HEIGHT)
    @viewport.ox = 0
  end
end



▶ mail 섹션 제일 위쪽줄에 출가해주세요.
  Graphics.resize_screen(WIDTH, HEIGHT)



Comment '19'
  • ?
    니뽕구루 2008.01.21 15:43

    좋네요. 아시겠지만, 약간 문제가 있습니다.
    처음 시작부분에 그림이 좀 짤린다는거~

  • ?
    다람쥐 2008.01.24 06:43
    그거말고도 못가는선 그다음에 즉
    ---------------------------------------------------
    ㅣ                                                            ㅣ
    ㅣ                                                            ㅣ<---------------ㄱ        이부분이보임
    ㅣ                                                            ㅣ                       ㅣ
    ㅣ                                                            ㅣ                       ㅣ
    ---------------------------------------------------                       ㅣ
    이게 맵이라햇을때                                                       맵끝나는선
  • ?
    오미트론 2008.02.29 18:33
    잘 봤습니다~
  • ?
    넌닝구가좋아 2008.03.21 17:47
    흐흑 해상도 조절이 잘안대
  • ?
    자유소년 2008.04.05 22:07

    얏호! 포켓몬 만들때 최강!

  • ?
    zeromax's joke 2008.05.01 16:25
    문제점도 있지만 좋은 강좌네요
  • ?
    용월 참괴 2008.05.04 22:13
    후 컴퓨터가 바뀐다. 아싸!
     좋은자료 감사합니다^^
  • ?
    zeromax's joke 2008.05.17 22:52
    맵이 작으니까 없는 부분이 늘어나네요...
  • ?
    실마릴 2008.06.13 21:14
    좋은 자료 감사합니다^^
  • profile
    비류 2008.06.22 11:03
    이거640,480이상은 안되는....
  • ?
    백년술사 2009.01.04 14:37
    지금 찾은..ㅡㅜ
  • profile
    카와이 2009.01.12 19:30
    생택지페리망치 ㄲㄲ
  • ?
    루이14세 2009.03.01 14:24
    꽤나 도움이 되는군요. 감사합니다.
  • ?
    음냐~~ 2010.02.12 15:01

    감사합니다. 동영상이 있으니 연습하기 쉬군요^^

  • ?
    류마린 2010.02.22 12:16

    ㅎㅎㅎㅎ

  • ?
    내로미 2010.03.31 01:05

    이거 XP는 없나요..?

  • ?
    탭준이 2011.02.24 18:10

    몰르겟어

  • ?
    투키디데스 2011.04.08 13:03

    1. 일단 주인공스프라이트가 이동하면서 맵을 스크롤할경우 변경된 해상도의 화면의 중앙이 아니라 기존의 544*416해상도를 기준으로 중심을 잡았던 위치에서 화면을 스크롤한다는 점. => 변경된해상도에 따라 화면의 중심을 설정하고 그에 따른 스크롤기준점을 바꿔주어야 함.


    2. 주인공 스프라이트를 맵의 우측끝과 하단 끝부분으로 이동시킬 경우 맵의 경계부근에 다가갈 경우는 스크롤을 중단시키고 주인공스프라이트만 이동해야 하는데 스크롤의 중단시점이 544*416해상도를 기준으로 정지시키기 때문에 그만큼 더 늘어난 화면에서는 계속 스크롤시키는 결과 맵의 좌측 및 상단부분의 보이게 됨. => 변경된 해상도로 화면의 중심인 기준점을 다시 잡고 맵의 한계에 도달했을 경우 새로운 기준점과 맵의 한계를 계산하여 한계점까지 이동할 경우 스크롤을 더이상 하지 못하도록 해야 함.


    3. 팝업(전투 또는 메시지)시 여전히 544*416에 맞추어 화면을 가리게 되어 화면 전체를 차단하지 못함. => 번거롭겠지만 전투나 팝업화면을 직접 바꾸면 되는 문제. 해상도를 변경 스크립트 개발자가 해야 할 문제는 아닐 듯.


    설령 이 문제를 개선하더라도 어차피 일일이 해상도에 맞춰 스크롤 정지구간을 설정하는것은 상당히 까다로워 보이므로 일정한 해상도를 지정(640x480, 800x600, 1024x800등)하여 거기에 맞는 스크립트를 작성해서 세분화 하는게 나을 것으로 보임. 

  • ?
    쿄상 2012.01.09 11:36

    감사합니다~!


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5398
130 기타 게임시간&밤낮 54 file 허걱 2009.02.14 6111
129 기타 캐릭터 소개화면 16 file 좀비사냥꾼 2009.03.29 6044
128 기타 작은 게이지바 표시 스크립트 44 file 허걱 2009.02.05 5979
127 기타 빛 이펙트 71 file DEVIL<Li Patanis Roni Kraudus> 2008.06.06 5860
126 기타 몬스터 리얼한 효과 27 file 사람이라면? 2010.08.16 5074
125 기타 RPG 2000이나 RPG 2003처럼 전체화면으로 나오게 하는 스크립트(대박) 21 Man... 2008.10.28 4821
124 기타 rpg vx 렉 줄이는 스크립트 34 아방스 2008.03.09 4813
» 기타 게임 해상도를 조절 하는 스크립트 19 아방스 2008.01.21 4780
122 기타 아이디를 띄우기 20 12345678 2011.11.07 4626
121 기타 간단한 스크립트의 사용법 6 아방스 2008.03.09 4552
120 기타 책 읽기 스크립트 44 file 히류 2010.10.05 4506
119 기타 책 읽기 스크립트. 19 허걱 2009.01.31 4490
118 기타 태양 스크립트. 15 file 할렘 2009.02.20 4463
117 기타 로딩중 스크립트 24 file NO.0 2009.07.11 4461
116 기타 글씨표시 스크립트 32 file 허걱 2009.08.10 4421
115 기타 심플 마우스 시스템 1.5 애드온 11 file RMdude 2009.02.11 4325
114 기타 집안의 가구를 내마음대로 데코레이션하기 15 file EuclidE 2010.09.18 4303
113 기타 [자작] 횡스크롤 점프스크립트 18 file 좀비사냥꾼 2009.04.03 4276
112 기타 (이거 정말 좋군요) 말이나 용을 탈수있게 하는 스크립트. 31 file 아방스가 짱 2010.02.28 4261
111 기타 아이콘 캐릭터 17 file 허걱 2010.02.28 4224
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7