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 5408
70 기타 말풍선 그림 바꾸기 6 file 허걱 2009.08.15 3565
69 기타 거리계산 스크립트 (XP가능) 7 file 허걱 2009.08.16 2848
68 기타 확장 에러 메시지 13 file 허걱 2009.08.17 2497
67 기타 스크립트로 커먼 이벤트 실행 [수정] 3 허걱 2009.08.17 2311
66 기타 범용 게이지 묘화 - KGC 14 file 카르와푸딩의아틀리에 2009.08.19 3476
65 기타 앞에있는 이벤트 아이디 찾기 6 허걱 2009.08.21 2091
64 기타 클리어 횟수 기록하기 8 file 허걱 2009.08.22 2729
63 기타 커스텀 페이지 스크립트 9 file 달표범 2009.09.07 3140
62 기타 KGC패시브 스크립트 30 카르와푸딩의아틀리에 2009.10.07 3551
61 기타 사이드뷰배틀에서 찌르기 공격 가능하게(Upgrade!) 6 078656577er 2009.10.15 2838
60 기타 Crissaegrim 농장시스템 한글화 28 file 도심 2009.12.22 3606
59 기타 화면에 그림 그리는 스크립트 21 file 강진수 2010.02.27 2962
58 기타 아이콘 캐릭터 17 file 허걱 2010.02.28 4225
57 기타 카지노 슬롯머신 15 file 아방스가 짱 2010.02.28 3023
56 기타 (이거 정말 좋군요) 말이나 용을 탈수있게 하는 스크립트. 31 file 아방스가 짱 2010.02.28 4261
55 기타 통합 스크립트(좋은 마우스 스크립트 좋은거),KGC좋은거 새로운 거 스크립트 세이브 스크립트 좋은거!~~~~~ 14 알피지GM 2010.03.07 3829
54 기타 낚시 스크립트~(낚시대로 하는 낚시가 아니라 사람을 낚는 낚시 스크립트) 14 file ~AYARSB~ 2010.03.18 3630
53 기타 화폐단위 구분해 주는 스크립트 38 file 허걱 2010.04.13 3652
52 기타 땅파기 18 file 비극ㆍ 2010.04.19 3013
51 기타 스크린샷 기능 14 비극ㆍ 2010.04.19 2090
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7