Project1

标题: 关于远小近大的脚本怎么让主角不受影响? [打印本页]

作者: ziye31321    时间: 2014-11-24 14:52
标题: 关于远小近大的脚本怎么让主角不受影响?
=begin



近大远小

原作 BY 亿万星辰 for RM XP

修改 BY gaofei677 for RM VA



使用方法:在地图名中加入“!”这个标志,这样就会按照近大远小来处理人物,否则效果不变。

此脚本对NPC同样适用



=end

class Sprite_Character < Sprite_Base

  alias stars_update update

  def update

    stars_update

    id = $game_map.map_id

    name = $data_mapinfos[id].name

    if name.include?("!")

      rate =  @character.y.to_f / $game_map.height.to_f + 0.5 # ← 这个值是到达屏幕最上方时的人物比例 1.0为默认大小 最下方比例则为 1+这个值

      self.zoom_x = self.zoom_y = rate

    end

  end

end

#==============================================================================

# 本脚本来自www.66RPG.com,使用和转载请保留此信息

#==============================================================================
  请问怎么样才能让主角不受这个影响
作者: gaofei677    时间: 2014-11-24 15:22
这个是我改的脚本,过会儿看看,不过好奇为什么楼主需要主角不受影响?
作者: ziye31321    时间: 2014-11-24 15:39
gaofei677 发表于 2014-11-24 15:22
这个是我改的脚本,过会儿看看,不过好奇为什么楼主需要主角不受影响?

因为主角是光标
作者: taroxd    时间: 2014-11-24 17:17
未测试。另外以后发脚本请用代码框

RUBY 代码复制
  1. class Sprite_Character < Sprite_Base
  2.   alias stars_update update
  3.   def update
  4.     stars_update
  5.     return if @character.equal? $game_player
  6.     id = $game_map.map_id
  7.     name = $data_mapinfos[id].name
  8.     if name.include?("!")
  9.       rate =  @character.y.to_f / $game_map.height.to_f + 0.5 # ← 这个值是到达屏幕最上方时的人物比例 1.0为默认大小 最下方比例则为 1+这个值
  10.       self.zoom_x = self.zoom_y = rate
  11.     end
  12.   end
  13. end

作者: gaofei677    时间: 2014-11-24 17:34
本帖最后由 gaofei677 于 2014-11-24 17:39 编辑
ziye31321 发表于 2014-11-24 15:39
因为主角是光标
  1. =begin
  2. 近大远小
  3. 原作 BY 亿万星辰 for RM XP
  4. 修改 BY gaofei677 for RM VA  (主角不受影响版)
  5. 使用方法:在地图名中加入“!”这个标志,这样就会按照近大远小来处理人物,否则效果不变。
  6. 此脚本对NPC同样适用
  7. =end

  8. class Sprite_Character < Sprite_Base
  9.   alias stars_update update
  10.   def update
  11.     stars_update
  12.     id = $game_map.map_id
  13.     name = $data_mapinfos[id].name
  14.     if name.include?("!")
  15.       return if self.character == $game_player # ← 把$game_player改为nil则主角也会受此效果影响
  16.       rate =  @character.y.to_f / $game_map.height.to_f + 0.5 # ← 这个值是到达屏幕最上方时的人物比例 1.0为默认大小 最下方比例则为 1+这个值
  17.       self.zoom_x = self.zoom_y = rate
  18.     end
  19.   end
  20. end

  21. #==============================================================================
  22. # 本脚本来自rm.66RPG.com,使用和转载请保留此信息
  23. #==============================================================================
复制代码





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