注册会员 登录
Project1 返回首页

喵呜喵5的树洞 https://rpg.blue/?291206 [收藏] [复制] [分享] [RSS]

日志

【脚本】影子

热度 32已有 4445 次阅读2013-10-12 13:46 |个人分类:脚本

=begin
===============================================================================
  影子 By喵呜喵5
===============================================================================

【说明】

  在人物、事件的脚底显示影子
  
  影子的素材直接使用了飞行船的素材
  
  如果不希望某个角色显示影子的话,在行走图文件名里写上(shadow)即可
  
=end
$m5script ||= {};$m5script[:M5Shadow20141206] = 20141206
module M5Shadow20141206
#==============================================================================
#  设定部分
#==============================================================================
  
  X = 0
  
  # 影子的X位置(相对角色)  

  Y = 5
  
  # 影子的Y位置(相对角色)
  
  OPACITY = -20
  
  # 影子的透明度(相对角色)

#==============================================================================
#  设定结束
#==============================================================================
class Sprite_Shadow < Sprite
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    set_character_bitmap
    update
  end
  def set_character_bitmap
    self.bitmap = Cache.system("Shadow")
    self.ox = self.bitmap.width / 2
    self.oy = self.bitmap.height    
  end
  def update
    super
    update_visible
    return unless self.visible
    update_position
    update_other
  end
  def update_visible
    self.visible = judge_name
    self.visible = [email protected] if self.visible
  end
  def judge_name
    return false if @character.character_name == "" 
    return false if @character.character_name =~ /(shadow)/
    true
  end
  def update_position
    self.x = @character.screen_x + X
    self.y = @character.screen_y + Y
    self.z = @character.screen_z - 1
  end
  def update_other
    self.opacity = @character.opacity + OPACITY
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
  end
end
end # module M5Shadow20141206
class Spriteset_Map
  alias m5_20141206_create_characters create_characters
  def create_characters
    m5_20141206_create_characters
    @m5_20141206_character_shadow_sprites = []
    array = @m5_20141206_character_shadow_sprites    
    $game_map.events.values.each do |event|
      array.push M5Shadow20141206::Sprite_Shadow.new(@viewport1, event)
    end    
    $game_player.followers.reverse_each do |follower|
      array.push M5Shadow20141206::Sprite_Shadow.new(@viewport1, follower)
    end    
    array.push M5Shadow20141206::Sprite_Shadow.new(@viewport1, $game_player)
  end
  alias m5_20141206_update_characters update_characters
  def update_characters
    m5_20141206_update_characters
    @m5_20141206_character_shadow_sprites.each {|sprite| sprite.update }
  end
  alias m5_20141206_dispose_characters dispose_characters
  def dispose_characters
    m5_20141206_dispose_characters
    @m5_20141206_character_shadow_sprites.each {|sprite| sprite.dispose }
  end  
end
7

鸡蛋
1

鲜花

刚表态过的朋友 (8 人)

发表评论 评论 (18 个评论)

回复 暗黑圣之骑 2014-10-7 12:34
一定要改文件名,不能通过注释之类的方式隐藏影子么?
回复 喵呜喵5 2014-10-7 12:39
暗黑圣之骑: 一定要改文件名,不能通过注释之类的方式隐藏影子么?
可以是可以,但是:
1.同一个行走图总不会有时候有影子有时候没有影子吧
2.通过注释的话,所有不需要影子的事件都必须手动添加上注释,如果还有其他的脚本也通过注释读取事件的信息的话还必须考虑与那些脚本的兼容性……
回复 暗黑圣之骑 2014-10-7 12:56
喵呜喵5: 可以是可以,但是:
1.同一个行走图总不会有时候有影子有时候没有影子吧
2.通过注释的话,所有不需要影子的事件都必须手动添加上注释,如果还有其他的脚本也通过 ...
嗯,可以理解,改文件名也不是太麻烦来着。
回复 hijl1990 2014-12-9 11:10
如果我使用了行走图战斗类的脚本,能不能再战斗中也显示影子?
回复 喵呜喵5 2014-12-9 12:28
hijl1990: 如果我使用了行走图战斗类的脚本,能不能再战斗中也显示影子?
一般来说,使用这个脚本是不能实现的
回复 hijl1990 2014-12-9 12:41
喵呜喵5: 一般来说,使用这个脚本是不能实现的
看来我只能苦逼的一个个添加影子了。。
回复 zshuser 2015-2-13 09:09
……怎么在游戏里面调用这个脚本的设置啊……想让影子早上的时候淡一点中午明显一点晚上透明度直接最高消失……能在全局事件里面设置么?
回复 喵呜喵5 2015-2-13 10:22
zshuser: ……怎么在游戏里面调用这个脚本的设置啊……想让影子早上的时候淡一点中午明显一点晚上透明度直接最高消失……能在全局事件里面设置么? ...
脚本并没有这个功能
回复 zshuser 2015-2-13 10:27
喵呜喵5: 脚本并没有这个功能
嗯嗯!还是谢谢了!
回复 欧买歌 2015-3-7 14:28
为什么改了文件名后没有效果啊?能用注释吗?
回复 喵呜喵5 2015-3-7 16:49
欧买歌: 为什么改了文件名后没有效果啊?能用注释吗?
文件名的 shadow 包含括号
不使用注释是因为:

1.同一个行走图总不会有时候有影子有时候没有影子吧
2.通过注释的话,所有不需要影子的事件都必须手动添加上注释,如果还有其他的脚本也通过注释读取事件的信息的话还必须考虑与那些脚本的兼容性
3.注释需要实时监听整个地图事件的变化情况
回复 欧买歌 2015-3-7 16:50
喵呜喵5: 文件名的 shadow 包含括号
不使用注释是因为:

1.同一个行走图总不会有时候有影子有时候没有影子吧
2.通过注释的话,所有不需要影子的事件都必须手动添加上注释 ...
那(shadow)加在后面还是前面啊?我加了没效果
回复 喵呜喵5 2015-3-7 16:54
欧买歌: 那(shadow)加在后面还是前面啊?我加了没效果
加在哪都可以
回复 欧买歌 2015-3-7 17:15
喵呜喵5: 加在哪都可以
我都说了没效果啊!
回复 melove603 2015-3-14 23:32
暂时用不到~先马克一下~
回复 UFONO1 2015-6-28 09:45
加了这个脚本
史莱姆变得好像是浮起来一样...
回复 喵呜喵5 2015-6-28 12:11
UFONO1: 加了这个脚本
史莱姆变得好像是浮起来一样...
史莱姆的行走图本身没贴在画面最底下
回复 chanszeman1018 2020-4-27 14:42
大神午安,角色跳起来时,能不能改成影子依跳的方向在地板跟隨,而不是跳起来時影子黏住角色?

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-5-6 10:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部