设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1514|回复: 4
打印 上一主题 下一主题

[已经解决] 改了分辨率以后,地图只能显示原区域

[复制链接]

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

跳转到指定楼层
1
发表于 2012-7-10 17:25:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个问题好像以前也会,而且以前一搜能搜到很多来着。。
总之现在忘了 求助啊~
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群

Lv3.寻梦者

梦石
0
星屑
1384
在线时间
962 小时
注册时间
2012-4-30
帖子
1475

开拓者

2
发表于 2012-7-10 20:27:49 | 只看该作者
貌似是在那个Spriteset_Map里的一开始的地方
@viewport1 = Viewport.new(0, 0 ,544, 416)
@viewport2 = Viewport.new(0, 0, 544, 416)
@viewport3 = Viewport.new(0, 0, 544, 416)
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
777
在线时间
1270 小时
注册时间
2011-2-14
帖子
5589
3
发表于 2012-7-10 20:48:19 | 只看该作者
本帖最后由 R-零 于 2012-7-10 20:54 编辑

http://rpg.blue/forum.php?mod=viewthread&tid=162509
参考这个XP的800*600

得出结论,通过4个元件地图的不同位置描绘解决

具体:把显示地图的视口复制成4个
         每个视口加载一个元件地图
         每个元件地图对应错位

因为Win7测试VX不方便所以只测试了一次,

不过在win7下测试效率明显降低,如果需要可以切换双系统到XP测试


[url=copycode($('code_SDd'));]复制下面代码[/url]

修改了Spriteset_Map
  1. #==============================================================================
  2. # ■ Spriteset_Map
  3. #------------------------------------------------------------------------------
  4. #  处理地图画面活动块和元件的类。本类在 Scene_Map 类的内部使用。
  5. #==============================================================================

  6. class Spriteset_Map
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     create_viewports
  12.     create_tilemap
  13.     create_parallax
  14.     create_characters
  15.     create_shadow
  16.     create_weather
  17.     create_pictures
  18.     create_timer
  19.     update
  20.   end
  21.   #--------------------------------------------------------------------------
  22.   # ● 生成显示端口
  23.   #--------------------------------------------------------------------------
  24.   def create_viewports
  25.     @viewport1 = Viewport.new(0, 0, 544, 416)
  26.     @viewport12 = Viewport.new(300, 0, 544, 416)
  27.     @viewport13 = Viewport.new(0, 300, 544, 416)
  28.     @viewport14 = Viewport.new(300, 300, 544, 416)
  29.    
  30.     @viewport2 = Viewport.new(0, 0, 544, 416)
  31.     @viewport3 = Viewport.new(0, 0, 544, 416)
  32.     @viewport2.z = 50
  33.     @viewport3.z = 100
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 生成地图元件
  37.   #--------------------------------------------------------------------------
  38.   def create_tilemap
  39.     @tilemap = Tilemap.new(@viewport1)
  40.     @tilemap.bitmaps[0] = Cache.system("TileA1")
  41.     @tilemap.bitmaps[1] = Cache.system("TileA2")
  42.     @tilemap.bitmaps[2] = Cache.system("TileA3")
  43.     @tilemap.bitmaps[3] = Cache.system("TileA4")
  44.     @tilemap.bitmaps[4] = Cache.system("TileA5")
  45.     @tilemap.bitmaps[5] = Cache.system("TileB")
  46.     @tilemap.bitmaps[6] = Cache.system("TileC")
  47.     @tilemap.bitmaps[7] = Cache.system("TileD")
  48.     @tilemap.bitmaps[8] = Cache.system("TileE")
  49.     @tilemap.map_data = $game_map.data
  50.     @tilemap.passages = $game_map.passages

  51.         @tilemap2 = Tilemap.new(@viewport12)
  52.     @tilemap2.bitmaps[0] = Cache.system("TileA1")
  53.     @tilemap2.bitmaps[1] = Cache.system("TileA2")
  54.     @tilemap2.bitmaps[2] = Cache.system("TileA3")
  55.     @tilemap2.bitmaps[3] = Cache.system("TileA4")
  56.     @tilemap2.bitmaps[4] = Cache.system("TileA5")
  57.     @tilemap2.bitmaps[5] = Cache.system("TileB")
  58.     @tilemap2.bitmaps[6] = Cache.system("TileC")
  59.     @tilemap2.bitmaps[7] = Cache.system("TileD")
  60.     @tilemap2.bitmaps[8] = Cache.system("TileE")
  61.     @tilemap2.map_data = $game_map.data
  62.     @tilemap2.passages = $game_map.passages

  63.         @tilemap3 = Tilemap.new(@viewport13)
  64.     @tilemap3.bitmaps[0] = Cache.system("TileA1")
  65.     @tilemap3.bitmaps[1] = Cache.system("TileA2")
  66.     @tilemap3.bitmaps[2] = Cache.system("TileA3")
  67.     @tilemap3.bitmaps[3] = Cache.system("TileA4")
  68.     @tilemap3.bitmaps[4] = Cache.system("TileA5")
  69.     @tilemap3.bitmaps[5] = Cache.system("TileB")
  70.     @tilemap3.bitmaps[6] = Cache.system("TileC")
  71.     @tilemap3.bitmaps[7] = Cache.system("TileD")
  72.     @tilemap3.bitmaps[8] = Cache.system("TileE")
  73.     @tilemap3.map_data = $game_map.data
  74.     @tilemap3.passages = $game_map.passages

  75.         @tilemap4 = Tilemap.new(@viewport14)
  76.     @tilemap4.bitmaps[0] = Cache.system("TileA1")
  77.     @tilemap4.bitmaps[1] = Cache.system("TileA2")
  78.     @tilemap4.bitmaps[2] = Cache.system("TileA3")
  79.     @tilemap4.bitmaps[3] = Cache.system("TileA4")
  80.     @tilemap4.bitmaps[4] = Cache.system("TileA5")
  81.     @tilemap4.bitmaps[5] = Cache.system("TileB")
  82.     @tilemap4.bitmaps[6] = Cache.system("TileC")
  83.     @tilemap4.bitmaps[7] = Cache.system("TileD")
  84.     @tilemap4.bitmaps[8] = Cache.system("TileE")
  85.     @tilemap4.map_data = $game_map.data
  86.     @tilemap4.passages = $game_map.passages
  87. end
  88.   #--------------------------------------------------------------------------
  89.   # ● 生成远景
  90.   #--------------------------------------------------------------------------
  91.   def create_parallax
  92.     @parallax = Plane.new(@viewport1)
  93.     @parallax.z = -100
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ● 生成角色活动块
  97.   #--------------------------------------------------------------------------
  98.   def create_characters
  99.     @character_sprites = []
  100.     for i in $game_map.events.keys.sort
  101.       sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  102.       @character_sprites.push(sprite)
  103.     end
  104.     for vehicle in $game_map.vehicles
  105.       sprite = Sprite_Character.new(@viewport1, vehicle)
  106.       @character_sprites.push(sprite)
  107.     end
  108.     @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● 生成飞船阴影活动块
  112.   #--------------------------------------------------------------------------
  113.   def create_shadow
  114.     @shadow_sprite = Sprite.new(@viewport1)
  115.     @shadow_sprite.bitmap = Cache.system("Shadow")
  116.     @shadow_sprite.ox = @shadow_sprite.bitmap.width / 2
  117.     @shadow_sprite.oy = @shadow_sprite.bitmap.height
  118.     @shadow_sprite.z = 180
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● 生成天候
  122.   #--------------------------------------------------------------------------
  123.   def create_weather
  124.     @weather = Spriteset_Weather.new(@viewport2)
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● 生成图片活动块
  128.   #--------------------------------------------------------------------------
  129.   def create_pictures
  130.     @picture_sprites = []
  131.     for i in 1..20
  132.       @picture_sprites.push(Sprite_Picture.new(@viewport2,
  133.         $game_map.screen.pictures[i]))
  134.     end
  135.   end
  136.   #--------------------------------------------------------------------------
  137.   # ● 生成计时器活动块
  138.   #--------------------------------------------------------------------------
  139.   def create_timer
  140.     @timer_sprite = Sprite_Timer.new(@viewport2)
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ● 释放
  144.   #--------------------------------------------------------------------------
  145.   def dispose
  146.     dispose_tilemap
  147.     dispose_parallax
  148.     dispose_characters
  149.     dispose_shadow
  150.     dispose_weather
  151.     dispose_pictures
  152.     dispose_timer
  153.     dispose_viewports
  154.   end
  155.   #--------------------------------------------------------------------------
  156.   # ● 释放地图元件
  157.   #--------------------------------------------------------------------------
  158.   def dispose_tilemap
  159.     @tilemap.dispose
  160.     @tilemap2.dispose
  161.     @tilemap3.dispose
  162.     @tilemap4.dispose
  163.   end
  164.   #--------------------------------------------------------------------------
  165.   # ● 释放远景
  166.   #--------------------------------------------------------------------------
  167.   def dispose_parallax
  168.     @parallax.dispose
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● 释放角色活动块
  172.   #--------------------------------------------------------------------------
  173.   def dispose_characters
  174.     for sprite in @character_sprites
  175.       sprite.dispose
  176.     end
  177.   end
  178.   #--------------------------------------------------------------------------
  179.   # ● 释放飞船阴影活动块
  180.   #--------------------------------------------------------------------------
  181.   def dispose_shadow
  182.     @shadow_sprite.dispose
  183.   end
  184.   #--------------------------------------------------------------------------
  185.   # ● 释放天候
  186.   #--------------------------------------------------------------------------
  187.   def dispose_weather
  188.     @weather.dispose
  189.   end
  190.   #--------------------------------------------------------------------------
  191.   # ● 释放图片活动块
  192.   #--------------------------------------------------------------------------
  193.   def dispose_pictures
  194.     for sprite in @picture_sprites
  195.       sprite.dispose
  196.     end
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ● 释放计时器活动块
  200.   #--------------------------------------------------------------------------
  201.   def dispose_timer
  202.     @timer_sprite.dispose
  203.   end
  204.   #--------------------------------------------------------------------------
  205.   # ● 释放显示端口
  206.   #--------------------------------------------------------------------------
  207.   def dispose_viewports
  208.     @viewport1.dispose
  209.     @viewport12.dispose
  210.     @viewport13.dispose
  211.     @viewport14.dispose
  212.     @viewport2.dispose
  213.     @viewport3.dispose
  214.   end
  215.   #--------------------------------------------------------------------------
  216.   # ● 更新画面
  217.   #--------------------------------------------------------------------------
  218.   def update
  219.     update_tilemap
  220.     update_parallax
  221.     update_characters
  222.     update_shadow
  223.     update_weather
  224.     update_pictures
  225.     update_timer
  226.     update_viewports
  227.   end
  228.   #--------------------------------------------------------------------------
  229.   # ● 更新地图元件
  230.   #--------------------------------------------------------------------------
  231.   def update_tilemap
  232.     @tilemap.ox = $game_map.display_x / 8
  233.     @tilemap.oy = $game_map.display_y / 8
  234.     @tilemap.update
  235.    
  236.     @tilemap2.ox = $game_map.display_x / 8 + 300
  237.     @tilemap2.oy = $game_map.display_y / 8
  238.     @tilemap2.update
  239.    
  240.     @tilemap3.ox = $game_map.display_x / 8
  241.     @tilemap3.oy = $game_map.display_y / 8 + 300
  242.     @tilemap3.update
  243.    
  244.     @tilemap4.ox = $game_map.display_x / 8 + 300
  245.     @tilemap4.oy = $game_map.display_y / 8 + 300
  246.     @tilemap4.update
  247.   end
  248.   #--------------------------------------------------------------------------
  249.   # ● 更新远景
  250.   #--------------------------------------------------------------------------
  251.   def update_parallax
  252.     if @parallax_name != $game_map.parallax_name
  253.       @parallax_name = $game_map.parallax_name
  254.       if @parallax.bitmap != nil
  255.         @parallax.bitmap.dispose
  256.         @parallax.bitmap = nil
  257.       end
  258.       if @parallax_name != ""
  259.         @parallax.bitmap = Cache.parallax(@parallax_name)
  260.       end
  261.       Graphics.frame_reset
  262.     end
  263.     @parallax.ox = $game_map.calc_parallax_x(@parallax.bitmap)
  264.     @parallax.oy = $game_map.calc_parallax_y(@parallax.bitmap)
  265.   end
  266.   #--------------------------------------------------------------------------
  267.   # ● 更新角色活动块
  268.   #--------------------------------------------------------------------------
  269.   def update_characters
  270.     for sprite in @character_sprites
  271.       sprite.update
  272.     end
  273.   end
  274.   #--------------------------------------------------------------------------
  275.   # ● 更新飞船阴影活动块
  276.   #--------------------------------------------------------------------------
  277.   def update_shadow
  278.     airship = $game_map.airship
  279.     @shadow_sprite.x = airship.screen_x
  280.     @shadow_sprite.y = airship.screen_y + airship.altitude
  281.     @shadow_sprite.opacity = airship.altitude * 8
  282.     @shadow_sprite.update
  283.   end
  284.   #--------------------------------------------------------------------------
  285.   # ● 更新天候
  286.   #--------------------------------------------------------------------------
  287.   def update_weather
  288.     @weather.type = $game_map.screen.weather_type
  289.     @weather.max = $game_map.screen.weather_max
  290.     @weather.ox = $game_map.display_x / 8
  291.     @weather.oy = $game_map.display_y / 8
  292.     @weather.update
  293.   end
  294.   #--------------------------------------------------------------------------
  295.   # ● 更新图片活动块
  296.   #--------------------------------------------------------------------------
  297.   def update_pictures
  298.     for sprite in @picture_sprites
  299.       sprite.update
  300.     end
  301.   end
  302.   #--------------------------------------------------------------------------
  303.   # ● 更新计时器活动块
  304.   #--------------------------------------------------------------------------
  305.   def update_timer
  306.     @timer_sprite.update
  307.   end
  308.   #--------------------------------------------------------------------------
  309.   # ● 更新显示端口
  310.   #--------------------------------------------------------------------------
  311.   def update_viewports
  312.     @viewport1.tone = $game_map.screen.tone
  313.     @viewport1.ox = $game_map.screen.shake
  314.     @viewport12.tone = $game_map.screen.tone
  315.     @viewport12.ox = $game_map.screen.shake
  316.     @viewport13.tone = $game_map.screen.tone
  317.     @viewport13.ox = $game_map.screen.shake
  318.     @viewport14.tone = $game_map.screen.tone
  319.     @viewport14.ox = $game_map.screen.shake
  320.     @viewport2.color = $game_map.screen.flash_color
  321.     @viewport3.color.set(0, 0, 0, 255 - $game_map.screen.brightness)
  322.     @viewport1.update
  323.     @viewport12.update
  324.     @viewport13.update
  325.     @viewport14.update
  326.     @viewport2.update
  327.     @viewport3.update
  328.   end
  329. end
复制代码
像这种问题直接在群里说就行了,反而在提问区里比较慢���
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
39
在线时间
115 小时
注册时间
2012-1-23
帖子
103
4
发表于 2012-7-11 09:17:10 | 只看该作者
  1. =begin


  2. ●スクリプト素材ユーザーの方へ

  3.  *インターネット上の素材配布サイト等で入手したスクリプトを使用する際は、
  4.   この位置に新しいセクションを作成し、そこに貼り付けてください。
  5.   (左のリストボックスのポップアップメニューから「挿入」を選択します)

  6.  *その他、素材製作者から特別な指示がある場合は、それに従ってください。

  7.  *原則として『RPGツクールXP』用のスクリプトとは互換性がありませんので、
  8.   『RPGツクールVX』向けの素材であることを確認してご使用ください。


  9. ●スクリプト素材製作者の方へ

  10.  *不特定多数のユーザーに向けて配布するスクリプトを開発される場合は、
  11.   なるべく再定義やエイリアスなどを使用し、この位置に貼り付けるだけで
  12.   動作するように調整されることをお勧めします。


  13. =end

  14. #==============================================================================
  15. # □ XP画面サイズ
  16. #------------------------------------------------------------------------------
  17. # Version : 7_20110401
  18. # by サリサ・タイクーン 修正案 : 八百雨様
  19. # http://www.tycoon812.com/rgss/
  20. #==============================================================================

  21. #==============================================================================
  22. # □ カスタマイズポイント
  23. #==============================================================================
  24. module RGSSLAB
  25.   module XP_Display_Size
  26.     #------------------------------------------------------------------------
  27.     # ● 画面引き伸ばし
  28.     #------------------------------------------------------------------------
  29.     TITLE    = true
  30.     GAMEOVER = true
  31.   end
  32. end

  33. #------------------------------------------------------------------------------

  34. #==============================================================================
  35. # ○ フラグセット(falseにすると、一時的に無効化させます)
  36. #==============================================================================
  37. $rrs = {} if $rrs == nil
  38. $rrs["XP画面サイズ"] = true

  39. if $rrs["XP画面サイズ"]

  40. #==============================================================================
  41. # ○ 導入エラー判定
  42. #==============================================================================
  43. if defined? XRXSV1_WindowResizeIntruding
  44.   p "【RGSS研究所:XP画面サイズ】",
  45.   "オートリサイザー/ワイドとは、同時併用できません。"
  46.   exit
  47. end
  48. if defined?($VX_640x480)
  49.   p "【RGSS研究所:XP画面サイズ】",
  50.   "RPGツクールVX 解像度640x480対応プロジェクトでは、XP画面サイズはご利用できません。"
  51.   exit
  52. end


  53. #==============================================================================
  54. # ■ Game_Map
  55. #==============================================================================
  56. class Game_Map
  57.   #--------------------------------------------------------------------------
  58.   # ● スクロールのセットアップ(alias)
  59.   #--------------------------------------------------------------------------
  60.   alias rgsslab_023_setup_scroll setup_scroll
  61.   def setup_scroll
  62.     rgsslab_023_setup_scroll
  63.     @margin_x = (width - 20) * 256 / 2
  64.     @margin_y = (height - 15) * 256 / 2
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 遠景表示 X 座標の計算(再定義)
  68.   #     bitmap : 遠景ビットマップ
  69.   #--------------------------------------------------------------------------
  70.   def calc_parallax_x(bitmap)
  71.     if bitmap == nil
  72.       return 0
  73.     elsif @parallax_loop_x
  74.       return @parallax_x / 16
  75.     elsif loop_horizontal?
  76.       return 0
  77.     else
  78.       w1 = bitmap.width - 640
  79.       w2 = @map.width * 32 - 640
  80.       if w1 <= 0 or w2 <= 0
  81.         return 0
  82.       else
  83.         return @parallax_x * w1 / w2 / 8
  84.       end
  85.     end
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 遠景表示 Y 座標の計算(再定義)
  89.   #     bitmap : 遠景ビットマップ
  90.   #--------------------------------------------------------------------------
  91.   def calc_parallax_y(bitmap)
  92.     if bitmap == nil
  93.       return 0
  94.     elsif @parallax_loop_y
  95.       return @parallax_y / 16
  96.     elsif loop_vertical?
  97.       return 0
  98.     else
  99.       h1 = bitmap.height - 480
  100.       h2 = @map.height * 32 - 480
  101.       if h1 <= 0 or h2 <= 0
  102.         return 0
  103.       else
  104.         return @parallax_y * h1 / h2 / 8
  105.       end
  106.     end
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 下にスクロール(再定義)
  110.   #     distance : スクロールする距離
  111.   #--------------------------------------------------------------------------
  112.   def scroll_down(distance)
  113.     if loop_vertical?
  114.       @display_y += distance
  115.       @display_y %= @map.height * 256
  116.       @parallax_y += distance
  117.     else
  118.       last_y = @display_y
  119.       @display_y = [@display_y + distance, (height - 15) * 256].min
  120.       @parallax_y += @display_y - last_y
  121.     end
  122.   end
  123.   #--------------------------------------------------------------------------
  124.   # ● 右にスクロール(再定義)
  125.   #     distance : スクロールする距離
  126.   #--------------------------------------------------------------------------
  127.   def scroll_right(distance)
  128.     if loop_horizontal?
  129.       @display_x += distance
  130.       @display_x %= @map.width * 256
  131.       @parallax_x += distance
  132.     else
  133.       last_x = @display_x
  134.       @display_x = [@display_x + distance, (width - 20) * 256].min
  135.       @parallax_x += @display_x - last_x
  136.     end
  137.   end
  138. end

  139. #==============================================================================
  140. # ■ Game_Player
  141. #==============================================================================
  142. class Game_Player < Game_Character
  143.   #--------------------------------------------------------------------------
  144.   # ● 定数
  145.   #--------------------------------------------------------------------------
  146.   CENTER_X = (640 / 2 - 16) * 8
  147.   CENTER_Y = (480 / 2 - 16) * 8
  148.   #--------------------------------------------------------------------------
  149.   # ● 画面中央に来るようにマップの表示位置を設定(再定義)
  150.   #     x : X 座標
  151.   #     y : Y 座標
  152.   #--------------------------------------------------------------------------
  153.   def center(x, y)
  154.     display_x = x * 256 - CENTER_X                    # 座標を計算
  155.     unless $game_map.loop_horizontal?                 # 横にループしない?
  156.       max_x = ($game_map.width - 20) * 256            # 最大値を計算
  157.       display_x = [0, [display_x, max_x].min].max     # 座標を修正
  158.     end
  159.     display_y = y * 256 - CENTER_Y                    # 座標を計算
  160.     unless $game_map.loop_vertical?                   # 縦にループしない?
  161.       max_y = ($game_map.height - 17) * 256           # 最大値を計算
  162.       display_y = [0, [display_y, max_y].min].max     # 座標を修正
  163.     end
  164.     $game_map.set_display_pos(display_x, display_y)   # 表示位置変更
  165.   end
  166. end

  167. #==============================================================================
  168. # ■ Spriteset_Map
  169. #==============================================================================
  170. class Spriteset_Map
  171.   #--------------------------------------------------------------------------
  172.   # ● ビューポートの作成(再定義)
  173.   #--------------------------------------------------------------------------
  174.   def create_viewports
  175.     @viewport1 = Viewport.new(0, 0, 640, 480)
  176.     @viewport2 = Viewport.new(0, 0, 640, 480)
  177.     @viewport3 = Viewport.new(0, 0, 640, 480)
  178.     @viewport2.z = 50
  179.     @viewport3.z = 100
  180.   end
  181. end

  182. #==============================================================================
  183. # ■ Window_Message
  184. #==============================================================================
  185. class Window_Message < Window_Selectable
  186.   #--------------------------------------------------------------------------
  187.   # ● オブジェクト初期化(再定義)
  188.   #--------------------------------------------------------------------------
  189.   def initialize
  190.     super(48, 360, 544, 128)
  191.     self.z = 100
  192.     self.active = false
  193.     self.index = -1
  194.     self.openness = 0
  195.     @opening = false            # ウィンドウのオープン中フラグ
  196.     @closing = false            # ウィンドウのクローズ中フラグ
  197.     @text = nil                 # 表示すべき残りの文章
  198.     @contents_x = 0             # 次の文字を描画する X 座標
  199.     @contents_y = 0             # 次の文字を描画する Y 座標
  200.     @line_count = 0             # 現在までに描画した行数
  201.     @wait_count = 0             # ウェイトカウント
  202.     @background = 0             # 背景タイプ
  203.     @position = 2               # 表示位置
  204.     @show_fast = false          # 早送りフラグ
  205.     @line_show_fast = false     # 行単位早送りフラグ
  206.     @pause_skip = false         # 入力待ち省略フラグ
  207.     create_gold_window
  208.     create_number_input_window
  209.     create_back_sprite
  210.   end
  211.   #--------------------------------------------------------------------------
  212.   # ● 所持金ウィンドウの作成(再定義)
  213.   #--------------------------------------------------------------------------
  214.   def create_gold_window
  215.     @gold_window = Window_Gold.new(384 + 48, 0 + 32)
  216.     @gold_window.openness = 0
  217.   end
  218.   #--------------------------------------------------------------------------
  219.   # ● ウィンドウの背景と位置の設定(再定義)
  220.   #--------------------------------------------------------------------------
  221.   def reset_window
  222.     @background = $game_message.background
  223.     @position = $game_message.position
  224.     if @background == 0   # 通常ウィンドウ
  225.       self.opacity = 255
  226.     else                  # 背景を暗くする、透明にする
  227.       self.opacity = 0
  228.     end
  229.     case @position
  230.     when 0  # 上
  231.       self.y = 0 + 32
  232.       @gold_window.y = 360 + 32
  233.     when 1  # 中
  234.       self.y = 144 + 32
  235.       @gold_window.y = 0 + 32
  236.     when 2  # 下
  237.       self.y = 288 + 32
  238.       @gold_window.y = 0 + 32
  239.     end
  240.   end
  241. end

  242. #==============================================================================
  243. # ■ Scene_Title
  244. #==============================================================================
  245. class Scene_Title < Scene_Base
  246.   #--------------------------------------------------------------------------
  247.   # ○ オブジェクト初期化
  248.   #--------------------------------------------------------------------------
  249.   def initialize
  250.     if defined? XRXSV1_WindowResizeIntruding
  251.       p "【RGSS研究所:XP画面サイズ】",
  252.       "オートリサイザー/ワイドとは、同時併用できません。"
  253.       exit
  254.     end
  255.     if defined?($VX_640x480)
  256.       p "【RGSS研究所:XP画面サイズ】",
  257.       "RPGツクールVX 解像度640x480対応プロジェクトでは、XP画面サイズはご利用できません。"
  258.       exit
  259.     end
  260.   end
  261.   #==========================================================================
  262.   # ■ TITLEがtrueのみ実行
  263.   #==========================================================================
  264.   if RGSSLAB::XP_Display_Size::TITLE
  265.     #------------------------------------------------------------------------
  266.     # ● タイトルグラフィックの作成(再定義)
  267.     #------------------------------------------------------------------------
  268.     def create_title_graphic
  269.       title_bg = Cache.system("Title")
  270.       resize = Bitmap.new(640, 480)
  271.       resize.stretch_blt(resize.rect, title_bg, title_bg.rect)
  272.       @sprite = Sprite.new
  273.       @sprite.bitmap = resize
  274.     end
  275.   end
  276.   #--------------------------------------------------------------------------
  277.   # ● コマンドウィンドウの作成(再定義)
  278.   #--------------------------------------------------------------------------
  279.   def create_command_window
  280.     s1 = Vocab::new_game
  281.     s2 = Vocab::continue
  282.     s3 = Vocab::shutdown
  283.     @command_window = Window_Command.new(172, [s1, s2, s3])
  284.     @command_window.x = (640 - @command_window.width) / 2
  285.     @command_window.y = 288 + 32
  286.     if @continue_enabled                    # コンティニューが有効な場合
  287.       @command_window.index = 1             # カーソルを合わせる
  288.     else                                    # 無効な場合
  289.       @command_window.draw_item(1, false)   # コマンドを半透明表示にする
  290.     end
  291.     @command_window.openness = 0
  292.     @command_window.open
  293.   end
  294. end

  295. #==============================================================================
  296. # ■ GAMEOVERがtrueのみ実行
  297. #==============================================================================
  298. if RGSSLAB::XP_Display_Size::GAMEOVER
  299.   #============================================================================
  300.   # ■ Scene_Gameover
  301.   #============================================================================
  302.   class Scene_Gameover < Scene_Base
  303.     #------------------------------------------------------------------------
  304.     # ● ゲームオーバーグラフィックの作成(再定義)
  305.     #------------------------------------------------------------------------
  306.     def create_gameover_graphic
  307.       gameover_bg = Cache.system("GameOver")
  308.       resize = Bitmap.new(640, 480)
  309.       resize.stretch_blt(resize.rect, gameover_bg, gameover_bg.rect)
  310.       @sprite = Sprite.new
  311.       @sprite.bitmap = resize
  312.     end
  313.   end
  314. end

  315. #==============================================================================
  316. # ■ Scene_Menu
  317. #==============================================================================
  318. class Scene_Menu < Scene_Base
  319.   #--------------------------------------------------------------------------
  320.   # ● 開始処理(再定義)
  321.   #--------------------------------------------------------------------------
  322.   def start
  323.     @gold_window = Window_Gold.new(48, 392)
  324.     @status_window = Window_MenuStatus.new(208, 32)
  325.     create_menu_background
  326.     create_command_window
  327.     if $rrs["徒歩数表示"]
  328.       # 歩数ウィンドウを作成
  329.       @steps_window = Window_Steps.new
  330.     end
  331.   end
  332.   #--------------------------------------------------------------------------
  333.   # ● コマンドウィンドウの作成(再定義)
  334.   #--------------------------------------------------------------------------
  335.   def create_command_window
  336.     s1 = Vocab::item
  337.     s2 = Vocab::skill
  338.     s3 = Vocab::equip
  339.     s4 = Vocab::status
  340.     s5 = Vocab::save
  341.     s6 = Vocab::game_end
  342.     @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
  343.     @command_window.x = 48
  344.     @command_window.y = 32
  345.     @command_window.index = @menu_index
  346.     if $game_party.members.size == 0          # パーティ人数が 0 人の場合
  347.       @command_window.draw_item(0, false)     # アイテムを無効化
  348.       @command_window.draw_item(1, false)     # スキルを無効化
  349.       @command_window.draw_item(2, false)     # 装備を無効化
  350.       @command_window.draw_item(3, false)     # ステータスを無効化
  351.     end
  352.     if $game_system.save_disabled             # セーブ禁止の場合
  353.       @command_window.draw_item(4, false)     # セーブを無効化
  354.     end
  355.   end
  356. end

  357. #==============================================================================
  358. # ■ Scene_Item
  359. #==============================================================================
  360. class Scene_Item < Scene_Base
  361.   #--------------------------------------------------------------------------
  362.   # ● 開始処理(再定義)
  363.   #--------------------------------------------------------------------------
  364.   def start
  365.     super
  366.     create_menu_background
  367.     @viewport = Viewport.new(0, 0, 640, 480)
  368.     @help_window = Window_Help.new
  369.     @help_window.viewport = @viewport
  370.     @help_window.x = 48
  371.     @help_window.y = 32
  372.     @item_window = Window_Item.new(48, 88, 544, 360)
  373.     @item_window.viewport = @viewport
  374.     @item_window.help_window = @help_window
  375.     @item_window.active = false
  376.     @target_window = Window_MenuStatus.new(0, 32)
  377.     hide_target_window
  378.   end
  379.   #--------------------------------------------------------------------------
  380.   # ● ターゲットウィンドウの表示(再定義)
  381.   #--------------------------------------------------------------------------
  382.   def show_target_window(right)
  383.     @item_window.active = false
  384.     width_remain = 592 - @target_window.width
  385.     @target_window.x = right ? width_remain : 0
  386.     @target_window.visible = true
  387.     @target_window.active = true
  388.     if right
  389.       @viewport.rect.set(0, 0, width_remain, 480)
  390.       @viewport.ox = 0
  391.     else
  392.       @target_window.x = 48
  393.       @viewport.rect.set(@target_window.width, 0, width_remain, 480)
  394.       @viewport.ox = @target_window.width
  395.     end
  396.   end
  397.   #--------------------------------------------------------------------------
  398.   # ● ターゲットウィンドウの非表示(再定義)
  399.   #--------------------------------------------------------------------------
  400.   def hide_target_window
  401.     @item_window.active = true
  402.     @target_window.visible = false
  403.     @target_window.active = false
  404.     @viewport.rect.set(0, 0, 640, 480)
  405.     @viewport.ox = 0
  406.   end
  407. end

  408. #==============================================================================
  409. # ■ Scene_Skill
  410. #==============================================================================
  411. class Scene_Skill < Scene_Base
  412.   #--------------------------------------------------------------------------
  413.   # ● 開始処理(再定義)
  414.   #--------------------------------------------------------------------------
  415.   def start
  416.     super
  417.     create_menu_background
  418.     @actor = $game_party.members[@actor_index]
  419.     @viewport = Viewport.new(0, 0, 640, 480)
  420.     @help_window = Window_Help.new
  421.     @help_window.viewport = @viewport
  422.     @help_window.x = 48
  423.     @help_window.y = 32
  424.     @status_window = Window_SkillStatus.new(48, 88, @actor)
  425.     @status_window.viewport = @viewport
  426.     @skill_window = Window_Skill.new(48, 144, 544, 304, @actor)
  427.     @skill_window.viewport = @viewport
  428.     @skill_window.help_window = @help_window
  429.     @target_window = Window_MenuStatus.new(0, 32)
  430.     hide_target_window
  431.   end
  432.   #--------------------------------------------------------------------------
  433.   # ● ターゲットウィンドウの表示(再定義)
  434.   #--------------------------------------------------------------------------
  435.   def show_target_window(right)
  436.     @skill_window.active = false
  437.     width_remain = 592 - @target_window.width
  438.     @target_window.x = right ? width_remain : 0
  439.     @target_window.visible = true
  440.     @target_window.active = true
  441.     if right
  442.       @viewport.rect.set(0, 0, width_remain, 480)
  443.       @viewport.ox = 0
  444.     else
  445.       @target_window.x = 48
  446.       @viewport.rect.set(@target_window.width, 0, width_remain, 480)
  447.       @viewport.ox = @target_window.width
  448.     end
  449.   end
  450.   #--------------------------------------------------------------------------
  451.   # ● ターゲットウィンドウの非表示(再定義)
  452.   #--------------------------------------------------------------------------
  453.   def hide_target_window
  454.     @skill_window.active = true
  455.     @target_window.visible = false
  456.     @target_window.active = false
  457.     @viewport.rect.set(0, 0, 640, 480)
  458.     @viewport.ox = 0
  459.   end
  460. end

  461. #==============================================================================
  462. # ■ Scene_Equip
  463. #==============================================================================
  464. class Scene_Equip < Scene_Base
  465.   #--------------------------------------------------------------------------
  466.   # ● 開始処理(再定義)
  467.   #--------------------------------------------------------------------------
  468.   def start
  469.     super
  470.     create_menu_background
  471.     @actor = $game_party.members[@actor_index]
  472.     @help_window = Window_Help.new
  473.     @help_window.x =+ 48
  474.     @help_window.y =+ 32
  475.     create_item_windows
  476.     @equip_window = Window_Equip.new(256, 88, @actor)
  477.     @equip_window.help_window = @help_window
  478.     @equip_window.index = @equip_index
  479.     @status_window = Window_EquipStatus.new(48, 88, @actor)
  480.   end
  481.   #--------------------------------------------------------------------------
  482.   # ● アイテムウィンドウの作成(再定義)
  483.   #--------------------------------------------------------------------------
  484.   def create_item_windows
  485.     @item_windows = []
  486.     for i in 0...EQUIP_TYPE_MAX
  487.       @item_windows[i] = Window_EquipItem.new(48, 240, 544, 208, @actor, i)
  488.       @item_windows[i].help_window = @help_window
  489.       @item_windows[i].visible = (@equip_index == i)
  490.       @item_windows[i].y = 240
  491.       @item_windows[i].height = 208
  492.       @item_windows[i].active = false
  493.       @item_windows[i].index = -1
  494.     end
  495.   end
  496. end

  497. #==============================================================================
  498. # ■ Scene_Status
  499. #==============================================================================
  500. class Scene_Status < Scene_Base
  501.   #--------------------------------------------------------------------------
  502.   # ● 開始処理(再定義)
  503.   #--------------------------------------------------------------------------
  504.   def start
  505.     super
  506.     create_menu_background
  507.     @actor = $game_party.members[@actor_index]
  508.     @status_window = Window_Status.new(@actor)
  509.     @status_window.x = 48
  510.     @status_window.y = 32
  511.   end
  512. end

  513. #==============================================================================
  514. # ■ Scene_File
  515. #==============================================================================
  516. class Scene_File < Scene_Base
  517.   #--------------------------------------------------------------------------
  518.   # ● 開始処理(再定義)
  519.   #--------------------------------------------------------------------------
  520.   def start
  521.     super
  522.     create_menu_background
  523.     @help_window = Window_Help.new
  524.     @help_window.x = 48
  525.     @help_window.y = 32
  526.     create_savefile_windows
  527.     if @saving
  528.       @index = $game_temp.last_file_index
  529.       @help_window.set_text(Vocab::SaveMessage)
  530.     else
  531.       @index = self.latest_file_index
  532.       @help_window.set_text(Vocab::LoadMessage)
  533.     end
  534.     @savefile_windows[@index].selected = true
  535.   end
  536.   #--------------------------------------------------------------------------
  537.   # ● セーブファイルウィンドウの作成(再定義)
  538.   #--------------------------------------------------------------------------
  539.   def create_savefile_windows
  540.     @savefile_windows = []
  541.     for i in 0..3
  542.       @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
  543.       @savefile_windows[i].x = 48
  544.       @savefile_windows[i].y = 88 + 90 * i
  545.     end
  546.     @item_max = 4
  547.   end
  548. end

  549. #==============================================================================
  550. # ■ Scene_End
  551. #==============================================================================
  552. class Scene_End < Scene_Base
  553.   #--------------------------------------------------------------------------
  554.   # ● コマンドウィンドウの作成(再定義)
  555.   #--------------------------------------------------------------------------
  556.   def create_command_window
  557.     s1 = Vocab::to_title
  558.     s2 = Vocab::shutdown
  559.     s3 = Vocab::cancel
  560.     @command_window = Window_Command.new(172, [s1, s2, s3])
  561.     @command_window.x = (640 - @command_window.width) / 2
  562.     @command_window.y = (480 - @command_window.height) / 2
  563.     @command_window.openness = 0
  564.   end
  565. end

  566. #==============================================================================
  567. # ■ Scene_Shop
  568. #==============================================================================
  569. class Scene_Shop < Scene_Base
  570.   #--------------------------------------------------------------------------
  571.   # ● 開始処理(再定義)
  572.   #--------------------------------------------------------------------------
  573.   def start
  574.     super
  575.     create_menu_background
  576.     create_command_window
  577.     @help_window = Window_Help.new
  578.     @help_window.x =+ 48
  579.     @help_window.y =+ 32
  580.     @gold_window = Window_Gold.new(432, 88)
  581.     @dummy_window = Window_Base.new(0 + 48, 144, 544, 304)
  582.     @buy_window = Window_ShopBuy.new(0 + 48, 144)
  583.     @buy_window.active = false
  584.     @buy_window.visible = false
  585.     @buy_window.help_window = @help_window
  586.     @sell_window = Window_ShopSell.new(48, 144, 544, 304)
  587.     @sell_window.active = false
  588.     @sell_window.visible = false
  589.     @sell_window.help_window = @help_window
  590.     @number_window = Window_ShopNumber.new(48, 144)
  591.     @number_window.active = false
  592.     @number_window.visible = false
  593.     @status_window = Window_ShopStatus.new(352, 144)
  594.     @status_window.visible = false
  595.   end
  596.   #--------------------------------------------------------------------------
  597.   # ● コマンドウィンドウの作成(再定義)
  598.   #--------------------------------------------------------------------------
  599.   def create_command_window
  600.     s1 = Vocab::ShopBuy
  601.     s2 = Vocab::ShopSell
  602.     s3 = Vocab::ShopCancel
  603.     @command_window = Window_Command.new(384, [s1, s2, s3], 3)
  604.     @command_window.x = 48
  605.     @command_window.y = 88
  606.     if $game_temp.shop_purchase_only
  607.       @command_window.draw_item(1, false)
  608.     end
  609.   end
  610. end

  611. #==============================================================================
  612. # ■ Scene_Debug
  613. #==============================================================================
  614. class Scene_Debug < Scene_Base
  615.   #--------------------------------------------------------------------------
  616.   # ● 開始処理(再定義)
  617.   #--------------------------------------------------------------------------
  618.   def start
  619.     super
  620.     create_menu_background
  621.     @left_window = Window_DebugLeft.new(48, 32)
  622.     @right_window = Window_DebugRight.new(224, 32)
  623.     @help_window = Window_Base.new(224, 304, 368, 144)
  624.     @left_window.top_row = $game_temp.debug_top_row
  625.     @left_window.index = $game_temp.debug_index
  626.     @right_window.mode = @left_window.mode
  627.     @right_window.top_id = @left_window.top_id
  628.   end
  629. end

  630. #==============================================================================
  631. # ■ Game_Troop
  632. #==============================================================================
  633. class Game_Troop < Game_Unit
  634.   #--------------------------------------------------------------------------
  635.   # ● セットアップ(再定義)
  636.   #--------------------------------------------------------------------------
  637.   def setup(troop_id)
  638.     clear
  639.     @troop_id = troop_id
  640.     @enemies = []
  641.     for member in troop.members
  642.       next if $data_enemies[member.enemy_id] == nil
  643.       enemy = Game_Enemy.new(@enemies.size, member.enemy_id)
  644.       enemy.hidden = member.hidden
  645.       enemy.immortal = member.immortal
  646.       enemy.screen_x = member.x + 48
  647.       enemy.screen_y = member.y + 32
  648.       @enemies.push(enemy)
  649.     end
  650.     make_unique_names
  651.   end
  652. end

  653. #==============================================================================
  654. # ■ Spriteset_Battle
  655. #==============================================================================
  656. class Spriteset_Battle
  657.   #--------------------------------------------------------------------------
  658.   # ● ビューポートの作成(再定義)
  659.   #--------------------------------------------------------------------------
  660.   def create_viewports
  661.     @viewport1 = Viewport.new(0, 0, 640, 480)
  662.     @viewport2 = Viewport.new(0, 0, 640, 480)
  663.     @viewport3 = Viewport.new(0, 0, 640, 480)
  664.     @viewport2.z = 50
  665.     @viewport3.z = 100
  666.   end
  667.   #--------------------------------------------------------------------------
  668.   # ● バトルバックスプライトの作成(再定義)
  669.   #--------------------------------------------------------------------------
  670.   def create_battleback
  671.     source = $game_temp.background_bitmap
  672.     bitmap = Bitmap.new(640 + 96, 480 + 64)
  673.     bitmap.stretch_blt(bitmap.rect, source, source.rect)
  674.     bitmap.radial_blur(90, 12)
  675.     @battleback_sprite = Sprite.new(@viewport1)
  676.     @battleback_sprite.bitmap = bitmap
  677.     @battleback_sprite.ox = 320
  678.     @battleback_sprite.oy = 240
  679.     @battleback_sprite.x = 272
  680.     @battleback_sprite.y = 176
  681.     @battleback_sprite.wave_amp = 8
  682.     @battleback_sprite.wave_length = 240
  683.     @battleback_sprite.wave_speed = 120
  684.   end
  685.   #--------------------------------------------------------------------------
  686.   # ● バトルフロアスプライトの作成(再定義)
  687.   #--------------------------------------------------------------------------
  688.   def create_battlefloor
  689.     @battlefloor_sprite = Sprite.new(@viewport1)
  690.     @battlefloor_sprite.bitmap = Cache.system("BattleFloor")
  691.     @battlefloor_sprite.x = 48
  692.     @battlefloor_sprite.y = 192 + 32
  693.     @battlefloor_sprite.z = 1
  694.     @battlefloor_sprite.opacity = 128
  695.   end
  696. end

  697. #==============================================================================
  698. # ■ Scene_Battle
  699. #==============================================================================
  700. class Scene_Battle < Scene_Base
  701.   #--------------------------------------------------------------------------
  702.   # ● 情報表示ビューポートの作成(再定義)
  703.   #--------------------------------------------------------------------------
  704.   def create_info_viewport
  705.     @info_viewport = Viewport.new(48, 320, 544, 128)
  706.     @info_viewport.z = 100
  707.     @status_window = Window_BattleStatus.new
  708.     @party_command_window = Window_PartyCommand.new
  709.     @actor_command_window = Window_ActorCommand.new
  710.     @status_window.viewport = @info_viewport
  711.     @party_command_window.viewport = @info_viewport
  712.     @actor_command_window.viewport = @info_viewport
  713.     @status_window.x = 128
  714.     @actor_command_window.x = 544
  715.     @info_viewport.visible = false
  716.   end
  717.   #--------------------------------------------------------------------------
  718.   # ● 対象敵キャラ選択の開始(再定義)
  719.   #--------------------------------------------------------------------------
  720.   def start_target_enemy_selection
  721.     @target_enemy_window = Window_TargetEnemy.new
  722.     @target_enemy_window.y = @info_viewport.rect.y
  723.     @info_viewport.rect.x += @target_enemy_window.width
  724.     @info_viewport.ox += @target_enemy_window.width
  725.     @actor_command_window.active = false
  726.     @target_enemy_window.x += 48
  727.     @target_enemy_window.y += 0
  728.   end
  729.   #--------------------------------------------------------------------------
  730.   # ● 対象アクター対象選択の開始(alias)
  731.   #--------------------------------------------------------------------------
  732.   def start_target_actor_selection
  733.     @target_actor_window = Window_BattleStatus.new
  734.     @target_actor_window.index = 0
  735.     @target_actor_window.active = true
  736.     @target_actor_window.y = @info_viewport.rect.y
  737.     @info_viewport.rect.x += @target_actor_window.width
  738.     @info_viewport.ox += @target_actor_window.width
  739.     @actor_command_window.active = false
  740.     @target_actor_window.x =+ 48
  741.     @target_actor_window.y =+ 0 + @info_viewport.rect.y
  742.   end
  743.   #--------------------------------------------------------------------------
  744.   # ● スキル選択の開始(再定義)
  745.   #--------------------------------------------------------------------------
  746.   def start_skill_selection
  747.     @help_window = Window_Help.new
  748.     @skill_window = Window_Skill.new(48, 88, 544, 232, @active_battler)
  749.     @skill_window.help_window = @help_window
  750.     @skill_window.help_window.x =+ 48
  751.     @skill_window.help_window.y =+ 32
  752.     @actor_command_window.active = false
  753.   end
  754.   #--------------------------------------------------------------------------
  755.   # ● アイテム選択の開始(再定義)
  756.   #--------------------------------------------------------------------------
  757.   def start_item_selection
  758.     @help_window = Window_Help.new
  759.     @item_window = Window_Item.new(48, 88, 544, 232)
  760.     @item_window.help_window = @help_window
  761.     @item_window.help_window.x =+ 48
  762.     @item_window.help_window.y =+ 32
  763.     @actor_command_window.active = false
  764.   end
  765. end

  766. #==============================================================================
  767. # □ Object
  768. #==============================================================================
  769. Graphics.resize_screen(640, 480) # XPと同じ大きさにする

  770. end
复制代码
把这个插入到▼ 外来RGSS插件脚本下面就可以了
回复

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

5
 楼主| 发表于 2012-7-11 10:49:25 | 只看该作者
这。。这。。这不科学啊!!我居然自己改好了那什么。。原来是dll不支持的原因……下载了个完全解放居然就可以了汗= =
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-29 04:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表