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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
162 小时
注册时间
2011-5-14
帖子
21
跳转到指定楼层
1
发表于 2011-12-9 22:29:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 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

Lv1.梦旅人

梦石
0
星屑
50
在线时间
162 小时
注册时间
2011-5-14
帖子
21
2
 楼主| 发表于 2011-12-12 21:26:53 | 只看该作者
就这么默默的沉了  
回复 支持 反对

使用道具 举报

Lv1.梦旅人

小小的百鬼夜行<

梦石
0
星屑
54
在线时间
579 小时
注册时间
2010-7-29
帖子
2682

贵宾

3
发表于 2011-12-13 19:24:10 | 只看该作者
找雾所在的viewport....
实在找不到就把所有的viewport都改成800*600
(无RM无法实验请见谅- -

另:1.02也是可以用的,基本上不会出错
某只PHP/HTML小白鼠→退屈の间


Cause I knew you were trouble when you walked in
So shame is on me now
I flow me to place i ve never been
till you put me down oh
Now Im lying on the cold hard ground
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
162 小时
注册时间
2011-5-14
帖子
21
4
 楼主| 发表于 2011-12-13 20:41:33 | 只看该作者
退屈£无聊 发表于 2011-12-13 19:24
找雾所在的viewport....
实在找不到就把所有的viewport都改成800*600
(无RM无法实验请见谅- -

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

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1071 小时
注册时间
2011-5-12
帖子
2317

贵宾

5
发表于 2011-12-13 21:16:18 | 只看该作者
全局搜索640修改成800看看?再搜索480改成600?
找我请找芙蕾娅
顺带一提,完全看得懂我头像请捡起你自己的节操哟(自重
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
162 小时
注册时间
2011-5-14
帖子
21
6
 楼主| 发表于 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
回复 支持 反对

使用道具 举报

Lv2.观梦者

(?????)

梦石
0
星屑
712
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

7
发表于 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 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-2-23 06:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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