查看: 3267|回复: 9

[已经过期] 残影脚本无效

[复制链接]
梦石
0
星屑
193
在线时间
26 小时
注册时间
2018-3-19
回帖
9
发表于 2018-3-31 15:13:37 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
[pre lang="ruby"]module MINTO
  RGSS = {}
  RGSS["残像スクリプト"] = true
end

if MINTO::RGSS["残像スクリプト"] == true then
class Sprite
  def blink
    sprite = Sprite.new(self.viewport)
    sprite.bitmap = self.bitmap#.dup if self.bitmap
    sprite.bitmap = RPG::Cache.character(@character.character_name,@character.character_hue)   
    sprite.x = self.x
    sprite.y = self.y
    sprite.z = self.z + 1
    sprite.visible = false
    sprite.ox = 0#self.ox
    sprite.oy = 0#self.oy
    sprite.angle = self.angle
    sprite.mirror = self.mirror
    sprite.opacity = self.opacity * 80 / 255
    sprite.blend_type = 0
    sprite.color = self.color.dup
    sprite.src_rect = self.src_rect.dup
    sprite.zoom_x = self.zoom_x
    sprite.zoom_y = self.zoom_y
    return sprite
  end
  def data_copy(data)
    return if data.disposed? or self.disposed?
    # 各データをコピー
    self.x = data.x
    self.y = data.y
    self.z = data.z - 1
    self.visible = data.visible
    self.ox = data.ox
    self.oy = data.oy
    self.angle = data.angle
    self.mirror = data.mirror
    self.src_rect = data.src_rect
    self.zoom_x = 1.1#data.zoom_x
    self.zoom_y = 1.1#data.zoom_y
    self.opacity = data.opacity * 190 / 255
  end
end
class Blink_Sprite
  def initialize(sprite, size)
    @dx = -100000#$game_map.display_x / 8
    @dy = -100000#$game_map.display_y / 8
    @size = 10#size
    @blink = []
    (0...@size).each do |i|
      @blink = sprite.blink
    end
  end
  def visible=(flag)
    for sprite in @blink do
      sprite.visible = flag
    end
  end
  def color_set(color)
    for sprite in @blink do
      sprite.color = color.dup
    end
  end
  def dispose
    for sprite in @blink do
      unless sprite.nil? then
        unless sprite.disposed? then
          sprite.dispose
        end
      end
    end
  end
  def update(sprite)
    if @blink[0].visible == false  then
     return
    end
    (0...@size).each do |i|
      s = @blink[(@size - 1) - i]
      s.data_copy(@blink[(@size - 1) - (i + 1)])
      s.ox = s.ox + $game_map.display_x / 4 - @dx
      s.oy = s.oy + $game_map.display_y / 4 - @dy  
    end
    @dx =  $game_map.display_x / 4
    @dy = $game_map.display_y / 4
    @blink[0].data_copy(sprite)
  end
end
module MINTO_Sprite_Battler_02
  def dispose
    dispose_blink
    super
  end
  def dispose_blink
    unless @blink_anime.nil? then
      @blink_anime.dispose
      @blink_anime = nil
    end
  end
  def animation_process_timing_new(timing, hit)
    if  timing.se.name == "幻影开始" then
      dispose_blink
      @blink_anime = Blink_Sprite.new(self, timing.flash_duration)
      @blink_anime.visible = true
      @blink_anime.color_set(timing.flash_color)
      return
    elsif timing.se.name == "幻影结束" then
      dispose_blink   
      return
    end
    super(timing, hit)
  end

  def update
    unless @blink_anime.nil? then
      @blink_anime.update(self)
    end
    super
  end
end


class Sprite_Character < RPG::Sprite

  include MINTO_Sprite_Battler_02         
end

end
[/pre]

我用了如上的幻影脚本,播放动画 动画里面有名为 "幻影开始"时的音效播放时开启,

想问下这里读取的默认是当前的charater_name,当我变换了character_name时 幻影还是读取原先的character_name
请问如何解决当角色的行走图改变时,幻影的行走图也进行改变
梦石
0
星屑
910
在线时间
94 小时
注册时间
2005-10-22
回帖
335
发表于 2018-3-31 15:42:49 | 显示全部楼层
这个脚本用的是缓存存储的行走图。。。你要刷新缓存才可以。
做脚本先从修改脚本做起,我只修改自己觉得能用到的东西。
以后的任何作品都将不会进行分享。
Bilibili:https://space.bilibili.com/288814521
回复

使用道具 举报

梦石
0
星屑
193
在线时间
26 小时
注册时间
2018-3-19
回帖
9
 楼主| 发表于 2018-3-31 16:28:59 | 显示全部楼层
ikki 发表于 2018-3-31 15:42
这个脚本用的是缓存存储的行走图。。。你要刷新缓存才可以。

怎么刷新缓存,有更好的当行走图更改了 幻影的行走图也更改的方法吗?
回复

使用道具 举报

梦石
0
星屑
910
在线时间
94 小时
注册时间
2005-10-22
回帖
335
发表于 2018-3-31 17:31:19 | 显示全部楼层
如果你做动画效果好的话,完全可以做成动画来实现的。
做脚本先从修改脚本做起,我只修改自己觉得能用到的东西。
以后的任何作品都将不会进行分享。
Bilibili:https://space.bilibili.com/288814521
回复

使用道具 举报

梦石
0
星屑
193
在线时间
26 小时
注册时间
2018-3-19
回帖
9
 楼主| 发表于 2018-3-31 18:28:07 | 显示全部楼层
ikki 发表于 2018-3-31 17:31
如果你做动画效果好的话,完全可以做成动画来实现的。

我需要这种幻影的模式,要能作用到不同的行走图上
回复

使用道具 举报

梦石
0
星屑
910
在线时间
94 小时
注册时间
2005-10-22
回帖
335
发表于 2018-3-31 21:17:20 | 显示全部楼层
就是角色拖着残影冲过去打对手么?
做脚本先从修改脚本做起,我只修改自己觉得能用到的东西。
以后的任何作品都将不会进行分享。
Bilibili:https://space.bilibili.com/288814521
回复

使用道具 举报

梦石
0
星屑
193
在线时间
26 小时
注册时间
2018-3-19
回帖
9
 楼主| 发表于 2018-3-31 21:39:55 | 显示全部楼层
ikki 发表于 2018-3-31 21:17
就是角色拖着残影冲过去打对手么?

有很多种应用
回复

使用道具 举报

梦石
0
星屑
910
在线时间
94 小时
注册时间
2005-10-22
回帖
335
发表于 2018-3-31 21:56:56 | 显示全部楼层
本帖最后由 ikki 于 2018-3-31 21:58 编辑
  1. RPG::Cache.character(@character.character_name,@character.character_hue)
复制代码
改为
  1. RPG::Cache.battler(@battler_name, @battler_hue)
复制代码
试试吧。
做脚本先从修改脚本做起,我只修改自己觉得能用到的东西。
以后的任何作品都将不会进行分享。
Bilibili:https://space.bilibili.com/288814521
回复

使用道具 举报

梦石
0
星屑
193
在线时间
26 小时
注册时间
2018-3-19
回帖
9
 楼主| 发表于 2018-3-31 21:58:47 | 显示全部楼层

我是在地图上用的
回复

使用道具 举报

梦石
0
星屑
910
在线时间
94 小时
注册时间
2005-10-22
回帖
335
发表于 2018-3-31 22:02:12 | 显示全部楼层
地图上拖残影?
做脚本先从修改脚本做起,我只修改自己觉得能用到的东西。
以后的任何作品都将不会进行分享。
Bilibili:https://space.bilibili.com/288814521
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部