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

Project1

 找回密码
 注册会员
搜索

【XP】关于800X600扩大显示的问题

查看数: 1384 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2011-12-9 22:29

正文摘要:

本帖最后由 rasldms 于 2011-12-14 10:43 编辑 在66RPG上面搜到了一个改800600窗口的脚本 实际用的时候   发现大地图上面播放技能动画的话  仍然是640 480范围内的。。。多余的地方会被截掉 ...

回复

各种压力的猫君 发表于 2011-12-14 09:46:19
本帖最后由 各种压力的猫君 于 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这点要注意。)

点评

虽然还没完全看懂..不过效果完全OK...感谢  发表于 2011-12-14 10:43

评分

参与人数 1星屑 +90 收起 理由
rasldms + 90 认可答案

查看全部评分

rasldms 发表于 2011-12-13 21:46:42
月夜神音 发表于 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) #——主窗口
  动画就不行...

点评

20-24行以及51-55行作了修改,其余部分是RGSS的内部类,帮助文件里可以看到。  发表于 2011-12-14 10:59
月夜神音 发表于 2011-12-13 21:16:18
全局搜索640修改成800看看?再搜索480改成600?
rasldms 发表于 2011-12-13 20:41:33
退屈£无聊 发表于 2011-12-13 19:24
找雾所在的viewport....
实在找不到就把所有的viewport都改成800*600
(无RM无法实验请见谅- -

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

而且这个脚本是通过新建右边/下面/右下角新的viewport来实现扩充800600的...都填800X600会爆掉的....
退屈£无聊 发表于 2011-12-13 19:24:10
找雾所在的viewport....
实在找不到就把所有的viewport都改成800*600
(无RM无法实验请见谅- -

另:1.02也是可以用的,基本上不会出错
rasldms 发表于 2011-12-12 21:26:53
就这么默默的沉了  
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-2-23 13:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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