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
17 이름입력 한글로 이름 입력하는 스크립트입니다. 55 file 헤르코스 2009.03.18 6662
16 키입력 한글입력기(펌) 수정 10 전설의달빛조각사 2011.04.03 2674
15 스킬 합성샾 스크립트 ^^ [동영상 포함] 6 file 아방스 2008.09.23 6038
14 기타 해상도 변경 스크립트 11 카리스 2011.07.19 2723
13 키입력 해외 제작자 He Who Jets님의 마우스 스크립트(mouse system) 1 file 보자기군 2014.09.30 1261
12 메뉴 헬프 윈도우 중앙표시 스크립트 11 file 양념통닼 2008.06.10 3348
11 헬프윈도우 확장 13 file RPGbooster 2008.10.08 2872
10 아이템 현재있는 파티원 선택 레벨업 아이템 만들기 1 file 싸패 2016.06.06 713
9 기타 화면 해상도(640 X 480) 스크립트 6 file 쿠쿠밥솥 2012.01.10 3972
8 기타 화면 확대 스크립트 12 file 에돌이 2011.07.22 3060
7 기타 화면에 그림 그리는 스크립트 21 file 강진수 2010.02.27 2961
6 이동 및 탈것 화면의 부드러운 스크롤 스크립트 32 카르와푸딩의아틀리에 2009.07.17 3817
5 기타 화폐단위 구분해 주는 스크립트 38 file 허걱 2010.04.13 3652
4 메뉴 확장 스테이터스 화면 - KGC 23 file 카르와푸딩의아틀리에 2009.08.19 5057
3 기타 확장 에러 메시지 13 file 허걱 2009.08.17 2497
2 기타 회피,명중,크리 스테이트를 작성하는 스크립트 9 카르와푸딩의아틀리에 2009.06.30 2393
1 스킬 훔치기 스킬을 만드는 스크립트! 5 우켈킁 2011.03.31 2390
Board Pagination Prev 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Next
/ 32