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 5452
» 기타 게임 해상도를 조절 하는 스크립트 19 아방스 2008.01.21 4785
636 전투 방어를 했을경우 hp / mp 회복 되도록 하는 스크립트 15 아방스 2008.01.22 3752
635 전투 전투배경을 자신이 원하는 형태로 45 file 아방스 2008.01.23 7141
634 전투 전투 배경을 이미지로 설정하는 스크립트 20 file 아방스 2008.01.23 4893
633 이동 및 탈것 동료가 따라다니게 하는 스크립트 59 file 아방스 2008.01.23 6517
632 메시지 문장 넘길대 소리나게 하는스크립트 19 아방스 2008.01.24 4187
631 전투 맨손 공격시 2번공격하는 스크립트 5 아방스 2008.01.24 2359
630 타이틀/게임오버 RPG VX - 타이틀 스크린 스크립트 23 아방스 2008.01.24 5745
629 메뉴 메뉴변경 스크립트 34 아방스 2008.01.24 7942
628 이동 및 탈것 달릴때 그래픽을 바꿔주는 스크립트 12 file 아방스 2008.01.24 4102
627 전투 전투시 메시지 표시 시간 조절 7 file 아방스 2008.01.24 2830
626 전투 Target 몬스터 플래시 스크립트 16 아방스 2008.01.24 4518
625 메뉴 rpg 만들기 vx 정보창에 조금더 자세한 정보가 나오게 하는 스크립트 28 아방스 2008.01.25 5079
624 전투 VX에서 전투배경을 XP스타일로 나오게 하는 스크립트 7 아방스 2008.01.25 4847
623 HUD rpg 만들기 vx - 맵이름 띠우는 스크립트 ^^ 74 아방스 2008.01.27 11938
622 그래픽 RPG XP의 Transitions효과를 VX에도 적용을 해보자 4 아방스 2008.01.27 3936
621 장비 [스크립트]무기에 옵션을 부가하자 18 아방이 2008.01.29 5389
620 변수/스위치 특정 키눌러서 스위치 온 시키는 스크립트 7 아방이 2008.01.30 2612
619 맵/타일 ◆ 타일 세트 확장 스크립트 [업데이트 수정] 24 file 아방이 2008.01.30 4389
618 메뉴 윈도우창 크기 조절 스크립트 0.3 5 아방스 2008.01.30 3038
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32 Next
/ 32