Project1

标题: 【XP】关于800X600扩大显示的问题 [打印本页]

作者: rasldms    时间: 2011-12-9 22:29
标题: 【XP】关于800X600扩大显示的问题
本帖最后由 rasldms 于 2011-12-14 10:43 编辑

在66RPG上面搜到了一个改800600窗口的脚本
实际用的时候   发现大地图上面播放技能动画的话  仍然是640 480范围内的。。。多余的地方会被截掉


但是修改  窗口(800x600) 里面第31行的
$viewport1 = Viewport.new(0, 0, 640, 480) #——主窗口
变成 $viewport1 = Viewport.new(0, 0, 800, 600) #——主窗口

动画是800600播放了  但是雾就会变成这样



有没有什么好的解决方法么= =

其他扩大脚本也搜了不少。。。。不过要么是1.02.exe 要么下载下不来之类的。。。没有找到特别方便的。。

Project.rar

794.4 KB, 下载次数: 348


作者: rasldms    时间: 2011-12-12 21:26
就这么默默的沉了  
作者: 退屈£无聊    时间: 2011-12-13 19:24
找雾所在的viewport....
实在找不到就把所有的viewport都改成800*600
(无RM无法实验请见谅- -

另:1.02也是可以用的,基本上不会出错
作者: rasldms    时间: 2011-12-13 20:41
退屈£无聊 发表于 2011-12-13 19:24
找雾所在的viewport....
实在找不到就把所有的viewport都改成800*600
(无RM无法实验请见谅- -

雾的$viewport1和动画播放是一个....不如说都是主窗口那一个...
尝试独立雾的$viewport..但是没成功(仍然会缺损...)
可能还有哪里改全...但最近准备考试没时间细调

而且这个脚本是通过新建右边/下面/右下角新的viewport来实现扩充800600的...都填800X600会爆掉的....

作者: 月夜神音    时间: 2011-12-13 21:16
全局搜索640修改成800看看?再搜索480改成600?
作者: rasldms    时间: 2011-12-13 21:46
月夜神音 发表于 2011-12-13 21:16
全局搜索640修改成800看看?再搜索480改成600?

$viewport4 = Viewport.new(640, 0, $width-640, 480)  #——右侧
$viewport5 = Viewport.new(0, 480, 640, $height-480) #——下侧
$viewport6 = Viewport.new(640, 480, $width-640, $height-480) #——右下角
$viewport1 = Viewport.new(0, 0, 800, 600) #——主窗口

它是通过这种方法实现800600的啊....主窗口改成800600其他都不冲突..只有雾会BUG...但是按照他原来的设计$viewport1 = Viewport.new(0, 0, 640, 480) #——主窗口
  动画就不行...
作者: 各种压力的猫君    时间: 2011-12-14 09:46
本帖最后由 各种压力的猫君 于 2011-12-14 10:11 编辑

只有把所有的viewport都建四份了……直接改大会BUG……
换种思路,干脆不给他指定viewport了
  1. module RPG
  2.   class Sprite < ::Sprite
  3.     def animation(animation, hit)
  4.       dispose_animation
  5.       @_animation = animation
  6.       return if @_animation == nil
  7.       @_animation_hit = hit
  8.       @_animation_duration = @_animation.frame_max
  9.       animation_name = @_animation.animation_name
  10.       animation_hue = @_animation.animation_hue
  11.       bitmap = RPG::Cache.animation(animation_name, animation_hue)
  12.       if @@_reference_count.include?(bitmap)
  13.         @@_reference_count[bitmap] += 1
  14.       else
  15.         @@_reference_count[bitmap] = 1
  16.       end
  17.       @_animation_sprites = []
  18.       if @_animation.position != 3 or not @@_animations.include?(animation)
  19.         for i in 0..15
  20.           if $game_temp.in_battle
  21.             sprite = ::Sprite.new(self.viewport)
  22.           else
  23.             sprite = ::Sprite.new
  24.           end
  25.           sprite.bitmap = bitmap
  26.           sprite.visible = false
  27.           @_animation_sprites.push(sprite)
  28.         end
  29.         unless @@_animations.include?(animation)
  30.           @@_animations.push(animation)
  31.         end
  32.       end
  33.       update_animation
  34.     end
  35.     def loop_animation(animation)
  36.       return if animation == @_loop_animation
  37.       dispose_loop_animation
  38.       @_loop_animation = animation
  39.       return if @_loop_animation == nil
  40.       @_loop_animation_index = 0
  41.       animation_name = @_loop_animation.animation_name
  42.       animation_hue = @_loop_animation.animation_hue
  43.       bitmap = RPG::Cache.animation(animation_name, animation_hue)
  44.       if @@_reference_count.include?(bitmap)
  45.         @@_reference_count[bitmap] += 1
  46.       else
  47.         @@_reference_count[bitmap] = 1
  48.       end
  49.       @_loop_animation_sprites = []
  50.       for i in 0..15
  51.         if $game_temp.in_battle
  52.           sprite = ::Sprite.new(self.viewport)
  53.         else
  54.           sprite = ::Sprite.new
  55.         end
  56.         sprite.bitmap = bitmap
  57.         sprite.visible = false
  58.         @_loop_animation_sprites.push(sprite)
  59.       end
  60.       update_loop_animation
  61.     end
  62.   end
  63. end
复制代码
插到MAIN以上。(为了防止某些BUG我加了个判断,如果是在战斗中依然遵循Viewport这点要注意。)




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1