Project1

标题: Vx可用 近大远小 V 1.1 BY 亿万星辰 [打印本页]

作者: xyq182811    时间: 2009-9-24 18:40
标题: Vx可用 近大远小 V 1.1 BY 亿万星辰
  1. #==============================================================================
  2. # 本脚本来自www.66rpg.com,转载和使用请保留此信息 #==============================================================================

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

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

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

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

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

  24. class Scene_Title
  25. alias stars_main main
  26. def main
  27.    stars_main
  28.    $data_mapinfos      = load_data("Data/MapInfos.rvdata")
  29. end
  30. end

  31. class Sprite_Character
  32. alias stars_update update
  33. def update
  34.    stars_update
  35.    id = $game_map.map_id
  36.    name = $data_mapinfos[id].name
  37.    if name.include?("★")
  38.      rage = name.split(/★/)[1]
  39.      min_rate = rage.split(/~/)[0].to_f
  40.      max_rate = rage.split(/~/)[1].to_f
  41.      rate =  min_rate + (@character.y.to_f / $game_map.height.to_f * (max_rate - min_rate))
  42.      self.zoom_x = self.zoom_y = rate
  43.    end
  44. end
  45. end


  46. #==============================================================================
  47. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  48. #==============================================================================
复制代码
我不懂得脚本啊,Vx使用近大远小 V 1.1的时候提示class Sprite_Character < RPG::Sprite出错,就把 < RPG::Sprite去掉了结果能运行成功。呵呵
不知道会不会有遗留的BUG,这个靠你们了
作者: 越前リョーマ    时间: 2009-9-25 21:44
你确定这个是VX的不是XP的?
作者: 痒死我了    时间: 2010-8-2 21:18
没有遗留BUG,尝试一下是否可以将地图块也近大远小
作者: 冰舞蝶恋    时间: 2010-8-18 18:06
= =
发现唯一的一个缺点就是在地图名显示中也会残留那些星号。。。。。。




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