VX 스크립트

Screen Resolution
Version 0.4 (beta)

윈도우의 크기를 조절 하는 스크립트입니다.

우선 아래 스크립트를 main 위쪽에 추가 하시구요.


WIDTH = 640
HEIGHT = 480
DELTA_WIDTH   = (WIDTH - 544).abs
DELTA_HEIGHT = (HEIGHT - 416).abs

class Game_Map
  def calc_parallax_x(bitmap)
    if bitmap == nil
      return 0
    elsif @parallax_loop_x
      return @parallax_x / 16
    elsif loop_horizontal?
      return 0
    else
      w1 = bitmap.width - WIDTH
      w2 = @map.width * 32 - WIDTH
      if w1 <= 0 or w2 <= 0
        return 0
      else
        return @parallax_x * w1 / w2 / 8
      end
    end
  end
end

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 Game_Player < Game_Character
  CENTER_X = (WIDTH / 2 - 16) * 8     # 画面中央の X 座標 * 8
  CENTER_Y = (HEIGHT / 2 - 16) * 8
end

class Sprite_Timer < Sprite
  def initialize(viewport)
    super(viewport)
    self.bitmap = Bitmap.new(88, 48)
    self.bitmap.font.name = "Arial"
    self.bitmap.font.size = 32
    self.x = WIDTH - self.bitmap.width
    self.y = 0
    self.z = 200
    update
  end
end

class Sprite_Base < Sprite
  def start_animation(animation, mirror = false)
    dispose_animation
    @animation = animation
    return if @animation == nil
    @animation_mirror = mirror
    @animation_duration = @animation.frame_max * 4 + 1
    load_animation_bitmap
    @animation_sprites = []
    if @animation.position != 3 or not @@animations.include?(animation)
      if @use_sprite
        for i in 0..15
          sprite = ::Sprite.new(viewport)
          sprite.visible = false
          @animation_sprites.push(sprite)
        end
        unless @@animations.include?(animation)
          @@animations.push(animation)
        end
      end
    end
    if @animation.position == 3
      if viewport == nil
        @animation_ox = WIDTH / 2
        @animation_oy = HEIGHT / 2
      else
        @animation_ox = viewport.rect.width / 2
        @animation_oy = viewport.rect.height / 2
      end
    else
      @animation_ox = x - ox + width / 2
      @animation_oy = y - oy + height / 2
      if @animation.position == 0
        @animation_oy -= height / 2
      elsif @animation.position == 2
        @animation_oy += height / 2
      end
    end
  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






main 섹션의 제일 위부분에 아래 스크립트를 추가해주세요 ^^

Graphics.resize_screen(WIDTH, HEIGHT)

Comment '5'
  • ?
    뉴펜슬 2008.01.30 23:24

    아 저기위에있는 높이와 넓이를 자기가 원하는 정도록 하면 되군요.

  • ?
    ps인간 2008.01.31 11:44
    Graphics.resize_screen(WIDTH, HEIGHT)
    가안되시면
    Graphics.resize_screen(640, 480)으로 바꾸어주세요 이것도 안되면.. 모릅니다 ^^
    '
    그리고 타이틀에 문제가 잇는게아니라 사이즈가 안맞아서.. 그러니 rpgxp용 타이틀로 바꾸시면 됩니다(웬강좌?)
  • ?
    ps인간 2008.01.31 12:11
    문제점이 있네요.... 많약 그렇게 한다면 맵이  바탕화면 설정처럼 바둑판식으로 되네요ㅠㅠ
    아방스님 이거 문제입니다 ㅡㅡ
  • ?
    에스테반 2011.01.08 19:22

    이거 문제 있나요?

  • ?
    에드문드 2014.06.17 16:32
    해상도 스크립트군요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5410
37 전투 Fomars indiviivdual battle 2 Man... 2008.10.28 1340
36 기타 reijubv - New Balloon Command (VXA에서도 작동) 1 file 혜인 2013.04.08 1332
35 ??? 2 Man... 2008.10.27 1329
34 변수/스위치 MapSwitch VX Version: 1.1 1 Man... 2008.10.27 1327
33 ??무슨 스크립트?? 3 Man... 2008.10.27 1323
32 기타 VX Weather Script by ccoa 1 Alkaid 2010.09.08 1318
31 컴퓨스트 플레이어 워크(?) 2 Man... 2008.10.27 1304
30 맵/타일 SwapXT by bulletxt 습작 2013.05.13 1293
29 Attribute System Man... 2008.10.28 1293
28 버그픽스 애니메이션 표시 위치 수정 (Fix Animation Position) 2 file AltusZeon 2014.02.12 1291
27 Khai's Window Helper 1.4 1 Man... 2008.10.28 1272
26 키입력 해외 제작자 He Who Jets님의 마우스 스크립트(mouse system) 1 file 보자기군 2014.09.30 1265
25 Detailed Call Script Error Mesage 3 Man... 2008.10.28 1258
24 전투 Verus Tempus Proelium by Vlad 습작 2013.05.13 1247
23 디러그 시스템?? 1 Man... 2008.10.28 1247
22 Jens009's Critical Flash 1.0 3 Man... 2008.10.27 1240
21 장비 방어구 착용시 최대HP, MP증가 스크립트(턴알) 3 file 기관차 2014.11.06 1224
20 Simple Fon Chage 3 Man... 2008.10.28 1212
19 MAX Level Limitation System 3 Man... 2008.10.28 1198
18 키입력 Key Simulator by Fantasist 습작 2013.05.01 1177
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