Project1

标题: 人物近大远小 For VA [打印本页]

作者: gaofei677    时间: 2013-3-2 20:08
标题: 人物近大远小 For VA
本帖最后由 gaofei677 于 2013-3-3 16:23 编辑

这几天学习GRSS,作为练习作品,此来自“ 亿万星辰 的 近大远小 V 1.0 ” XP版
介绍和截图就用原介绍了



RUBY 代码复制
  1. =begin
  2.  
  3. 近大远小
  4. 原作 BY 亿万星辰 for RM XP
  5. 修改 BY gaofei677 for RM VA
  6.  
  7. 使用方法:在地图名中加入“!”这个标志,这样就会按照近大远小来处理人物,否则效果不变。
  8. 此脚本对NPC同样适用
  9.  
  10. =end
  11. class Sprite_Character < Sprite_Base
  12.   alias stars_update update
  13.   def update
  14.     stars_update
  15.     id = $game_map.map_id
  16.     name = $data_mapinfos[id].name
  17.     if name.include?("!")
  18.       rate =  @character.y.to_f / $game_map.height.to_f + 0.5 # ← 这个值是到达屏幕最上方时的人物比例 1.0为默认大小 最下方比例则为 1+这个值
  19.       self.zoom_x = self.zoom_y = rate
  20.     end
  21.   end
  22. end
  23. #==============================================================================
  24. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  25. #==============================================================================



作者: q854240045    时间: 2013-3-3 09:53
脚本开头的应该是=begin而不是=begian吧,请改一下。
作者: 神秘来客3    时间: 2013-3-3 14:28
本帖最后由 神秘来客3 于 2013-3-8 17:14 编辑

效果略坑……
(关键问题是看着就不真实……)
作者: gaofei677    时间: 2013-3-3 16:43
q854240045 发表于 2013-3-3 09:53
脚本开头的应该是=begin而不是=begian吧,请改一下。

已修改,感谢
作者: 熊喵酱    时间: 2013-3-4 03:41
這樣的話不是越近越大吧
是越下面越大......    (我完全不會腳本  所以可以無視我....)
可以試試看把遠近大小判定設為跟據主角? (主角=1比1  可是比主角上面5格的人是1比3 那樣的)
{:2_249:}可以無視我...   我對腳本什麼都完全不知.....    (以上純屬建議)
作者: oobuluo    时间: 2013-3-14 17:44
话说我记得远小近大,是一个地图的脚本吧,地图做成了仿3D的
作者: 你最珍贵    时间: 2013-3-18 19:00
你确定这是VA不是xp?
作者: 破碎痕心    时间: 2013-8-10 09:53
也难怪楼上会问。你这个效果。人物行走图是XP,地图原件是XP。最重要的是游戏窗口也是XP
作者: 柍若    时间: 2014-2-8 20:48
  1. #==============================================================================
  2. # 本脚本来自www.66rpg.com,转载和使用请保留此信息
  3. #==============================================================================

  4. #==============================================================================
  5. # 近大远小 V 1.1 BY 亿万星辰
  6. #==============================================================================
  7. # 似乎很多人都很喜欢类似天之痕里人物在地图上的位置的不同,人物大小的相应改变。
  8. # 所以写了这个……一开始我还说很难实现……  =。= 汗,被自己推翻了……
  9. # 看来勇于探索的精神还是要有的……
  10. #
  11. # 不废话了,说下使用方法:
  12. # 因为考虑到不可能所有的地图都用到这个效果,所以使用了这样的方法。如果想要实现
  13. # 这个效果的,那么请在地图名中加入“★”这个标志,这样就会按照近大远小来处理人
  14. # 物,否则效果不变。

  15. # 根据一位朋友的建议,不可能每幅地图的比例都一样,所以加设了下面的一些设置,
  16. # 下面举几个例子,大家一看便知:

  17. #        MAP001            无近大远小效果
  18. #        MAP001★0.5~1.0   屏幕最上方比例为原始大小的0.5倍,最下方为1.0倍
  19. #        MAP001★1.0~2.0   屏幕最上方比例为原始大小的1.0倍,最下方为2.0倍

  20. # 另外,人物在放大后会略显毛边儿,这也是没办法的,呵呵~~
  21. # 此脚本对NPC同样适用……具体可参考演示。

  22. # 不过也有不足,即使这样修改了大小,游戏中的各种人物还是占据一格的大小,当人变
  23. # 小时, 彼此之间距离会有些大……
  24. #==============================================================================

  25. class Sprite_Character < Sprite_Base
  26. alias stars_update update
  27. def update
  28.    stars_update
  29.    id = $game_map.map_id
  30.    name = $data_mapinfos[id].name
  31.    if name.include?("★")
  32.      rage = name.split(/★/)[1]
  33.      min_rate = rage.split(/~/)[0].to_f
  34.      max_rate = rage.split(/~/)[1].to_f
  35.      rate =  min_rate + (@character.y.to_f / $game_map.height.to_f * (max_rate - min_rate))
  36.      self.zoom_x = self.zoom_y = rate
  37.    end
  38. end
  39. end

  40. #==============================================================================
  41. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  42. #==============================================================================
复制代码
帮顶,补充一个1.1版本的。现在6R上好像直接搜搜不到这个版本了…Orz
搜索到底怎么回事儿,好多东西都搜不到:(




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