Project1

标题: 关于近大远小脚本的修改和扩展 [打印本页]

作者: 勇敢的馒头    时间: 2010-9-1 14:56
标题: 关于近大远小脚本的修改和扩展
本帖最后由 勇敢的馒头 于 2010-9-26 09:20 编辑
  1. #==============================================================================
  2. # 近大远小 V 1.0 BY 亿万星辰
  3. #==============================================================================
  4. # 似乎很多人都很喜欢类似天之痕里人物在地图上的位置的不同,人物大小的相应改变。
  5. # 所以写了这个……一开始我还说很难实现……  =。= 汗,被自己推翻了……
  6. # 看来勇于探索的精神还是要有的……
  7. #
  8. # 不废话了,说下使用方法:
  9. # 因为考虑到不可能所有的地图都用到这个效果,所以使用了这样的方法。如果想要实现
  10. # 这个效果的,那么请在地图名中加入“★”这个标志,这样就会按照近大远小来处理人
  11. # 物,否则效果不变。
  12. # 另外,人物在放大后会略显毛边儿,这也是没办法的,呵呵~~
  13. # 此脚本对NPC同样适用……具体可参考演示。
  14. #==============================================================================

  15. class Scene_Title
  16.   alias stars_main main
  17.   def main
  18.     stars_main
  19.     $data_mapinfos      = load_data("Data/MapInfos.rxdata")
  20.   end
  21. end

  22. class Sprite_Character < RPG::Sprite
  23.   alias stars_update update
  24.   def update
  25.     stars_update
  26.     id = $game_map.map_id
  27.     name = $data_mapinfos[id].name
  28.     if name.include?("★")
  29.       rate =  @character.y.to_f / $game_map.height.to_f + 0.8 # ← 这个值是到达屏幕最上方时的人物比例 1.0为默认大小 最下方比例则为 1+这个值
  30.       self.zoom_x = self.zoom_y = rate
  31.     end
  32.   end
  33. end
  34. ===========================
复制代码
看到论坛上的这个近大远小的脚本,因为放大会让边缘变的毛~~
我转变一个思路,我想把行走图做大~然后直接就往上了缩小
就是让脚本只有减小没有增加,请问怎么修改啊?谢谢!

作者: [N.K]    时间: 2010-9-1 15:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: 勇敢的馒头    时间: 2010-9-1 15:30
本帖最后由 勇敢的馒头 于 2010-9-1 16:17 编辑

回复 [N.K] 的帖子
谢谢LS的回答我啊~~可是我的问题不是这个
我可能解释的不清楚,我再说下哈~~
这个脚本的作用是:往下行走图变大,往上走行走图变小
因为行走图变大会出现锯齿,所以我在想怎么解决这个问题,那就是把行走图做大了,然后只让他缩小,不让他放大就行了
就是说这个脚本里怎么修改让他只缩小而不放大
← 这个值是到达屏幕最上方时的人物比例 1.0为默认大小 最下方比例则为 1+这个值
用他这句话来形容的话就是,1.0为默认大小,上去为最小数值,往下方的比例变回为1.0,而不是1.0+这个值

   
作者: [N.K]    时间: 2010-9-1 16:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 勇敢的馒头    时间: 2010-9-1 16:17
回复 [N.K] 的帖子
可能你听不懂我的意思吧~~等有缘人~
作者: 勇敢的馒头    时间: 2010-9-1 16:32
解决了!
把这一行
  1. rate =  @character.y.to_f / $game_map.height.to_f + 0.8 # ← 这个值是到达屏幕最上方时的人物比例 1.0为默认大小 最下方比例则为 1+这个值
复制代码
改成:
  1. rate =  0.3*(@character.y.to_f / $game_map.height.to_f)+0.7
复制代码
这样就好了
作者: 勇敢的馒头    时间: 2010-9-16 17:20
本帖最后由 勇敢的馒头 于 2010-9-26 09:20 编辑

自己结贴




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