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

Project1

 找回密码
 注册会员
搜索

天气显示问题

查看数: 2002 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-4-10 14:40

正文摘要:

调整了分辨率到1024X768, 发现使用气候功能的时候,显示的范围还是640X480的,然后我在气候功能那边,没看到调整范围的地方。。

回复

guoxiaomi 发表于 2022-4-10 16:47:15
本帖最后由 guoxiaomi 于 2022-4-10 16:50 编辑

因为气候的sprite生成位置是在别的地方定义的,打开F1找到RPG::Weather一节,翻到最下面的update方法:
  1. module RPG
  2.   class Weather
  3.     def update
  4.         # ...
  5.         if sprite.opacity < 64 or x < -50 or x > 750 or y < -300 or y > 500
  6.           sprite.x = rand(800) - 50 + @ox
  7.           sprite.y = rand(800) - 200 + @oy
  8.           sprite.opacity = 255
  9.         end
  10.       end
  11.     end
  12.   end
  13. end
复制代码

我没测试过,但是把那几个0结尾的坐标边界(-50,750,-300,500,800,200)都×2可能就能解决问题了。所以你要做的就是添加以下脚本重新定义update方法:
  1. module RPG
  2.   class Weather
  3.     def update
  4.       return if @type == 0
  5.       for i in 1..@max
  6.         sprite = @sprites[i]
  7.         if sprite == nil
  8.           break
  9.         end
  10.         if @type == 1
  11.           sprite.x -= 2
  12.           sprite.y += 16
  13.           sprite.opacity -= 8
  14.         end
  15.         if @type == 2
  16.           sprite.x -= 8
  17.           sprite.y += 16
  18.           sprite.opacity -= 12
  19.         end
  20.         if @type == 3
  21.           sprite.x -= 2
  22.           sprite.y += 8
  23.           sprite.opacity -= 8
  24.         end
  25.         x = sprite.x - @ox
  26.         y = sprite.y - @oy
  27.         r = 2 # 默认 r = 1
  28.         if sprite.opacity < 64 or x < -50 * r or x > 750 * r or y < -300 * r or y > 500 * r
  29.           sprite.x = rand(800 * r) - 50 * r + @ox
  30.           sprite.y = rand(800 * r) - 200 * r + @oy
  31.           sprite.opacity = 255
  32.         end
  33.       end
  34.     end
  35.   end
  36. end
复制代码

点评

完美解决!  发表于 2022-4-10 18:49
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-22 18:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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