查看: 2707|回复: 8

[已经解决] 请问如何做出镜像的效果?

[复制链接]
梦石
0
星屑
48
在线时间
312 小时
注册时间
2014-2-28
回帖
861
发表于 2014-3-29 19:12:33 | 显示全部楼层 |阅读模式

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

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

×
就是说主角站到一个地图上的时候会显示倒影。用脚本也可以,只不过要告诉我粘贴到哪里就行了!真的万分感谢!

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
由于我不服H·H·Y大触事件满于是他让我的事件也调满于是我照着做了结果那货居然把事件调低了……结果我现在原稿找不回来了只好保持着事件满的状态在大家面前闹笑话擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2014-3-31 09:21:55 | 显示全部楼层
本帖最后由 tseyik 于 2014-3-31 09:24 编辑

http://galvs-scripts.com/categor ... l-effects/#post-662
Character Effects
00-00 (1) (1).jpg
脚本+範例
http://galvs-scripts.com/galvs-character-effects/
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2014-3-31 17:20:13 | 显示全部楼层
脚本1〜180行就是説明
狐狗機翻(1~100行)
# ------------------------------------------------- ----------------------------- #
#腳本調用:
# ------------------------------------------------- ----------------------------- #
#
# char_effects ( X,X ,X ,狀態)
#
# ------------------------------------------------- ----------------------------- #
# #每個效果可以為true或false來啟用/遊戲過程中禁用它們。
# #你可以一次改變效果的倍數, x是影響數
# # 0 =反映1 =陰影2 =鏡3 =圖標
# ------------------------------------------------- ----------------------------- #
#示例:
# char_effects ( 0 , TRUE) #反過來思考
# char_effects ( 0,2 ,TRUE)依次反射和鏡面上
# char_effects ( 1,3 , FALSE) #把陰影和圖標關閉
# ------------------------------------------------- ----------------------------- #
#
# reflect_sprite ( actor_id ,文件名, POS ) #改變演員的反映字符集
#
# reflect_esprite (事項標識,文件名, POS ) # Change事件的反映字符集
#
# reflect_vsprite ( vehicle_id ,文件名, POS ) #改變車輛的反映字符集
#
# ------------------------------------------------- ----------------------------- #
#示例:
# reflect_sprite ( 1 , “ ACTOR2 ” , 2 ) #變演員1的字符集使用精靈
# #在“ ACTOR2 ”字符集位置2 。
# reflect_esprite ( 3 , “ Actor4 ” , 5 ) #事件3將使用雪碧的位置5
# # “ Actor4 ”字符集。
# reflect_vsprite ( 1 , “車輛” , 5 ) #船舶將使用雪碧的位置5
# # “車輛”的字符集。
# ------------------------------------------------- ----------------------------- #

# ------------------------------------------------- ----------------------------- #
#腳本調用打開效果ON或OFF選擇的事項
# ------------------------------------------------- ----------------------------- #
#
#reflect( X,X ,X ,狀態) #狀態可以是true或false來打開或關閉
# #使用這個指定鏡像和反映。
#shadow( X,X ,X ,狀態) #其中x是您要更改的事件ID
# #更改所有事件使用:所有
#icon( X,X ,X , icon_id ) #集出現上述字符的圖標ID 。使
# # ,0為無圖標。

点评

谢谢。如何设置采纳答案?  发表于 2014-3-31 17:40

评分

参与人数 1梦石 +1 收起 理由
Sion + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
222
在线时间
267 小时
注册时间
2013-7-2
回帖
25
发表于 2014-3-29 21:35:27 | 显示全部楼层
VA超级整合镜床镜壁,把水地形标志设为1
回复

使用道具 举报

梦石
0
星屑
48
在线时间
312 小时
注册时间
2014-2-28
回帖
861
 楼主| 发表于 2014-3-30 08:13:07 | 显示全部楼层
@NPC 发表于 2014-3-29 21:35
VA超级整合镜床镜壁,把水地形标志设为1


哦?我是新手,VA超级整合是什么?求抛链接。

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
由于我不服H·H·Y大触事件满于是他让我的事件也调满于是我照着做了结果那货居然把事件调低了……结果我现在原稿找不回来了只好保持着事件满的状态在大家面前闹笑话擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
回复

使用道具 举报

梦石
0
星屑
222
在线时间
267 小时
注册时间
2013-7-2
回帖
25
发表于 2014-3-30 08:38:59 | 显示全部楼层

点评

还不错。不过没有脚本,链接坏了  发表于 2014-3-30 09:02
回复

使用道具 举报

梦石
0
星屑
803
在线时间
2068 小时
注册时间
2011-10-3
回帖
1620
发表于 2014-3-31 00:09:18 | 显示全部楼层
水面反射和墙壁反射,LS提到的超级整合里的脚本




水面反射
[pre lang="ruby" line="1"]#◆◇◆◇◆  鏡床スクリプトVXA ver 1.00  ◇◆◇◆◇
#  サポート掲示板 http://www2.ezbbs.net/21/minto-aaa/
#   by みんと

=begin

■ 更新履歴

○ ver 1.00(2010/11/23)
公開
  
■ 説明

現在キャラクターが立っている
「一歩下」のタイルが、特定のタイルだった場合、
一歩下のタイルにキャラクターの半透明の映像を映し出します。
水面などの演出に向いています。

鏡床とみなされるタイルの登録には地形タグを使用します。
タイルセットの地形タグを任意の値に設定してください。

イベントの場合は、「最初の」実行内容が
「注釈」で、注釈の内容が 鏡床描写 のみの場合、同様に映し出します。
設定していない場合は映し出さないので、
映し出したいイベントにだけ設定してください。

導入場所の注意
エイリアスで構成されていますので、
出来るだけ下のほうに導入してください。

=end

#==============================================================================
# ☆ MINTO
#------------------------------------------------------------------------------
#   様々なフラグを扱うメインモジュールです。
#==============================================================================

module MINTO
  
  # 鏡床スクリプトVXを有効化 ( true で有効 / false で無効 )
  RGSS["鏡床スクリプトVX"] = true
  
  # 鏡床のタイルとして扱う地形タグのID
  # キャラクターが立っている一歩下のレイヤー1~3の中で、
  # 1つでも該当する地形タグがあれば鏡床を作成します
  Mirror_Tile_ID = 1
  
  # 鏡床無効のタイルとして扱う地形タグのID
  # キャラクターが立っている一歩下のレイヤー1~3の中で、
  # 1つでも該当する地形タグがあれば鏡床を無効化します
  # 無効化タイルを使用しない場合は nil を収納してください
  Not_Mirror_Tile_ID = 2
  
  # 機能を一時的に無効化するスイッチ
  # このスイッチが オン の時、機能を無効化します
  Not_Mirror_Switch = 0
  
end

# 鏡床スクリプトVXが有効な場合に以降の処理を実行する
if MINTO::RGSS["鏡床スクリプトVX"] == true then
  
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
#  マップを扱うクラスです。スクロールや通行可能判定などの機能を持っています。
# このクラスのインスタンスは $game_map で参照されます。
#==============================================================================

class Game_Map
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader   :map                      # マップの情報
  #--------------------------------------------------------------------------
  # ● 地形タグの取得
  #    x   : 指定 X 座標
  #    y   : 指定 Y 座標
  #    tag : 指定地形タグ
  #--------------------------------------------------------------------------
  def terrain_tag_include?(x, y, tag)
    # 無効なタイルの場合
    unless valid?(x, y)
      # メソッドを返す
      return false
    end
    # 全レイヤーを検索
    for tile_id in layered_tiles(x, y) do
      # タグを取得
      t = tileset.flags[tile_id] >> 12
      # 地系タグが一致した場合
      if tag == t
        # メソッドを返す
        return true
      end
    end
    # メソッドを返す
    return false
  end
end
#==============================================================================
# ■ Sprite_Character
#------------------------------------------------------------------------------
#  キャラクター表示用のスプライトです。
#   Game_Character クラスのインスタンスを監視し、
#   スプライトの状態を自動的に変化させます。
#==============================================================================

class Sprite_Character < Sprite_Base
  #--------------------------------------------------------------------------
  # ● 解放
  #    alias : dispose_MINTO_Mirror_Tile
  #--------------------------------------------------------------------------
  alias :dispose_MINTO_Mirror_Tile :dispose
  def dispose
    # 鏡床が存在する場合
    if @mirror_tile_sprite != nil then
      # 鏡床を解放
      @mirror_tile_sprite.bitmap.dispose
      @mirror_tile_sprite.dispose
    end
    # 元の処理を実行
    dispose_MINTO_Mirror_Tile
  end
  #--------------------------------------------------------------------------
  # ● 鏡床有効判定
  #    x  : X 座標
  #    y  : Y 座標
  #--------------------------------------------------------------------------
  def mirror_tile_include?(x, y)
    # 目標のタイルが鏡床の場合
    if $game_map.terrain_tag_include?(x, y, MINTO::Mirror_Tile_ID)
      # 鏡床無効化タイルが有効な場合
      unless MINTO::Not_Mirror_Tile_ID.nil?
        # 鏡床が無効化されていない場合
        unless $game_map.terrain_tag_include?(x, y, MINTO::Not_Mirror_Tile_ID)
          # メソッドを返す
          return true
        end
      # 無効化タイルを使用していない場合
      else
        # メソッドを返す
        return true
      end
    end
    # メソッドを返す
    return false
  end
  #--------------------------------------------------------------------------
  # ● 鏡床の作成
  #--------------------------------------------------------------------------
  def mirror_tile_set
    # 鏡床が存在する場合
    if @mirror_tile_sprite != nil then
      # 鏡床を解放
      @mirror_tile_sprite.bitmap.dispose
      @mirror_tile_sprite.bitmap = nil
      @mirror_tile_sprite.dispose
      @mirror_tile_sprite = nil
    end
    # 最終ファイル名を更新
    @last_tile_id = @character.tile_id
    @last_character_name = @character.character_name.dup
    # 鏡床用のスプライトを生成
    @mirror_tile_sprite = self.dup
    # 座標を調節する
    @mirror_tile_sprite.y = self.y - (self.oy / 6)
    @mirror_tile_sprite.z = self.z
    # 色を白っぽくする
    @mirror_tile_sprite.tone.red = 64
    @mirror_tile_sprite.tone.green = 64
    @mirror_tile_sprite.tone.blue = 64
    # 半透明にする
    @mirror_tile_sprite.opacity = self.opacity * 62 / 100
    # 180度回転させる
    @mirror_tile_sprite.angle = 180
    # 左右を反転させる
    @mirror_tile_sprite.mirror = (not self.mirror == true)
  end
  #--------------------------------------------------------------------------
  # ● 鏡床の更新
  #--------------------------------------------------------------------------
  def update_mirror_tile
    # キャラクターの現在位置を取得
    x = @character.x
    y = @character.y
    # 元々鏡床が存在しない場合
    if @mirror_tile_sprite == nil then
      # メソッドを返す
      return
    end
    # 機能が無効化されている場合
    if $game_switches[MINTO::Not_Mirror_Switch] == true then
      # 不可視状態にする
      @mirror_tile_sprite.visible = false
      # メソッドを返す
      return
    end
    # プレイヤーの場合
    unless @character.is_a?(Game_Event) then
      # 機能が無効化されている場合
      if $game_map.airship.driving == true then
        # 不可視状態にする
        @mirror_tile_sprite.visible = false
        # メソッドを返す
        return
      end
    end
    # 下のタイルが鏡床以外の場合
    if mirror_tile_include?(x, (y + 1)) == false then
      # 鏡床を不可視状態にする
      @mirror_tile_sprite.visible = false
      # メソッドを返す
      return
    # 下のタイルが鏡床の場合
    else
      # Y座標補正値を初期化する
      @y_plus = 6
      #@mirror_tile_sprite.wave_amp = 1
      #@mirror_tile_sprite.wave_length = 60
      #@mirror_tile_sprite.wave_speed = 320
    end
    # 各情報を更新する
    @mirror_tile_sprite.src_rect = self.src_rect.dup
    @mirror_tile_sprite.x = self.x
    @mirror_tile_sprite.y = self.y - (self.oy / 6) + @y_plus
    @mirror_tile_sprite.opacity = self.opacity * 62 / 100
    @mirror_tile_sprite.z = self.z - 1
    @mirror_tile_sprite.visible = self.visible
    @mirror_tile_sprite.update
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #    alias : update_MINTO_Mirror_Tile
  #--------------------------------------------------------------------------
  alias :update_MINTO_Mirror_Tile :update
  def update
    # ファイル名、色相のどれかが現在のものと異なる場合
    if @last_tile_id != @character.tile_id or
      @last_character_name != @character.character_name
      # 鏡床が存在する場合
      if @mirror_tile_sprite != nil then
        # 元の処理を実行
        update_MINTO_Mirror_Tile
        # 鏡床を再作成
        mirror_tile_set
        # 鏡床を更新
        update_mirror_tile
        # メソッドを返す
        return
      end
    end
    # 元の処理を実行
    update_MINTO_Mirror_Tile
    # まだ鏡床を作成していない場合
    if @mirror_tile == nil then
      # キャラクターがイベントの場合
      if @character.is_a?(Game_Event) == true then
        # 有効なイベントの場合
        if @character.list != nil then
          # 最初の内容が注釈の場合
          if @character.list[0].code == 108 then
            # 注釈の内容が「鏡床描写」だった場合
            if @character.list[0].parameters == ["鏡床描写"] then
              # 鏡床を作成
              mirror_tile_set
              # 作成済みフラグをオン
              @mirror_tile = true
            end
          end
        end
      # キャラクターがプレイヤーの場合
      else
        # 鏡床を作成
        mirror_tile_set
        # 作成済みフラグをオン
        @mirror_tile = true
      end
    end
    # 鏡床を更新
    update_mirror_tile
  end
end

end
[/pre]


墙壁
[pre lang="ruby" line="1"]#◆◇◆◇◆  鏡の壁スクリプトVXA ver 1.00  ◇◆◇◆◇
#  サポート掲示板 http://www2.ezbbs.net/21/minto-aaa/
#   by みんと

=begin

■ 更新履歴

○ ver 1.00(2010/11/28)
公開
  
■ 説明

鏡床スクリプトVX専用の拡張スクリプトです。
このスクリプト素材を使用する場合は、
鏡床スクリプトVXが必須となります。

キャラクターの「一歩上」のタイルが特定のタイルだった場合、
そのタイルにキャラクターの鏡写し映像を描写します。

イベントの場合は、鏡床スクリプトのものをそのまま継承します。

氷のダンジョン等に向いているかもしれません。

鏡の壁とみなされるタイルの登録には、専用のマップを別に使います。
詳しい設定方法はスクリーンショットを参照してください。

◆ 鏡の壁イベントの設定

鏡の壁とみなすイベントには、
まず移動タイプを 固定 にし、
名前に 鏡 の文字を含ませてください。
そのイベントは鏡の壁とみなされます。
(途中でそのイベントを動かしても、
鏡の壁の判定は更新されません。
あくまで絶対に動かないイベント専用の機能です)

導入場所の注意
エイリアスで構成されていますので、
出来るだけ下のほうに導入してください。

=end

#==============================================================================
# ☆ MINTO
#------------------------------------------------------------------------------
#   様々なフラグを扱うメインモジュールです。
#==============================================================================

module MINTO
  
  # 鏡の壁スクリプトVXAを有効化 ( true で有効 / false で無効 )
  RGSS["鏡の壁スクリプトVXA"] = true
  
  # 鏡の壁タイルとして扱う地形タグのID
  # キャラクターが立っている一歩上のレイヤー1~3の中で、
  # 1つでも該当する地形タグがあれば鏡の壁を作成します
  Mirror_Wall_ID = 3
  
  # 鏡の壁無効化タイルとして扱う地形タグのID
  # キャラクターが立っている一歩上のレイヤー1~3の中で、
  # 1つでも該当する地形タグがあれば鏡の壁を無効化します
  # 無効化タイルを使用しない場合は nil を収納してください
  Not_Mirror_Wall_ID = nil

  
  # 機能を一時的に無効化するスイッチ
  # このスイッチが オン の時、機能を無効化します
  Not_MirrorWall_Switch = 0
  
end

# 鏡の壁スクリプトVXAが有効な場合に以降の処理を実行する
if MINTO::RGSS["鏡の壁スクリプトVXA"] == true then
  
#==============================================================================
# ■ Game_Character (分割定義 1)
#------------------------------------------------------------------------------
#  キャラクターを扱うクラスです。このクラスは Game_Player クラスと Game_Event
# クラスのスーパークラスとして使用されます。
#==============================================================================

class Game_Character
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader   :move_type                # 移動タイプ
end
#==============================================================================
# ■ Game_Event
#------------------------------------------------------------------------------
#  イベントを扱うクラスです。条件判定によるイベントページ切り替えや、並列処理
# イベント実行などの機能を持っており、Game_Map クラスの内部で使用されます。
#==============================================================================

class Game_Event < Game_Character
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader   :event                    # イベント
end
#==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
#  マップ画面のスプライトやタイルマップなどをまとめたクラスです。このクラスは
# Scene_Map クラスの内部で使用されます。
#==============================================================================

class Spriteset_Map
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor :mirror_wall              # 鏡の壁イベントの位置情報
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #    alias : initialize_Mirror_Wall
  #--------------------------------------------------------------------------
  alias :initialize_Mirror_Wall :initialize
  def initialize
    # 鏡の壁イベントの位置情報を定義
    @mirror_wall = Table.new($game_map.map.width, $game_map.map.height)
    # 元の処理を実行
    initialize_Mirror_Wall
    # ループ処理
    for character in @character_sprites do
      # キャラクターがイベントの場合
      if character.character.class == Game_Event then
        # キャラクターの移動タイプが固定の場合
        if character.character.move_type == 0 then
          # イベント名に 鏡 が含まれる場合
          if character.character.event.name.include?("鏡") == true then
            # 位置を取得
            x = character.character.x
            y = character.character.y
            # 位置を保存
            @mirror_wall[x, y] = 1
          end
        end
      end
    end
  end
end
#==============================================================================
# ■ Sprite_Character (分割定義 2)
#------------------------------------------------------------------------------
#  キャラクター表示用のスプライトです。
# Game_Character クラスのインスタンスを監視し、
# スプライトの状態を自動的に変化させます。
#==============================================================================

class Sprite_Character < Sprite_Base
  #--------------------------------------------------------------------------
  # ● 解放
  #    alias : dispose_Mirror_Wall
  #--------------------------------------------------------------------------
  alias :dispose_Mirror_Wall :dispose
  def dispose
    # 鏡が存在する場合
    if @mirror_sprite != nil then
      # 鏡を解放
      @mirror_sprite.bitmap.dispose
      @mirror_sprite.dispose
    end
    # 元の処理を実行
    dispose_Mirror_Wall
  end
  #--------------------------------------------------------------------------
  # ● 鏡床の作成
  #    alias : mirror_tile_set_Mirror_Wall
  #--------------------------------------------------------------------------
  alias :mirror_tile_set_Mirror_Wall :mirror_tile_set
  def mirror_tile_set
    # 元の処理を実行
    mirror_tile_set_Mirror_Wall
    # 鏡を作成
    mirror_set
  end
  #--------------------------------------------------------------------------
  # ● 鏡の作成
  #--------------------------------------------------------------------------
  def mirror_set
    # 鏡用のスプライトを生成
    @mirror_sprite = self.dup
    # 座標を調節する
    @mirror_sprite.y = self.y + (self.oy / 6)
    @mirror_sprite.z = self.z
    # 色を白っぽくする
    @mirror_sprite.tone.red = 64
    @mirror_sprite.tone.green = 64
    @mirror_sprite.tone.blue = 64
    # 不透明にする
    @mirror_sprite.opacity = 0
    # 左右を反転させる
    @mirror_sprite.mirror = (self.mirror == false)
    # タイル ID が有効な値の場合
    if @tile_id >= 1 then
      # メソッドを返す
      return
    end
    # キャラクターの向きに応じて分岐
    case @character.direction
    # 下
    when 2 then
      direction = 8
    # 左
    when 4 then
      direction = 6
    # 右
    when 6 then
      direction = 4
    # 上
    when 8 then
      direction = 2
    end
    index = @character.character_index
    pattern = @character.pattern < 3 ? @character.pattern : 1
    sx = (index % 4 * 3 + pattern) * @cw
    sy = (index / 4 * 4 + (direction - 2) / 2) * @ch
    @mirror_sprite.src_rect.set(sx, sy, @cw, @ch)
  end
  #--------------------------------------------------------------------------
  # ● 鏡の壁有効判定
  #    x : X 座標
  #    y : Y 座標
  #--------------------------------------------------------------------------
  def mirror_wall_include?(x, y)
    # 目標のタイルが鏡の壁の場合
    if $game_map.terrain_tag_include?(x, y, MINTO::Mirror_Wall_ID)
      # 鏡の壁無効化タイルが有効な場合
      unless MINTO::Not_Mirror_Wall_ID.nil?
        # 鏡の壁が無効化されていない場合
        unless $game_map.terrain_tag_include?(x, y, MINTO::Not_Mirror_Wall_ID)
          # メソッドを返す
          return true
        end
      # 無効化タイルを使用していない場合
      else
        # メソッドを返す
        return true
      end
    end
    # メソッドを返す
    return false
  end
  #--------------------------------------------------------------------------
  # ● 影の更新
  #    alias : update_mirror_tile_Mirror_Wall
  #--------------------------------------------------------------------------
  alias :update_mirror_tile_Mirror_Wall :update_mirror_tile
  def update_mirror_tile
    # 元の処理を実行
    update_mirror_tile_Mirror_Wall
    # 鏡を更新
    update_mirror
  end
  #--------------------------------------------------------------------------
  # ● 鏡の更新
  #--------------------------------------------------------------------------
  def update_mirror
    # 現在の位置を取得
    x = @character.x
    y = @character.y
    @z_plus = -1
    # 元々鏡が存在しない場合
    if @mirror_sprite == nil then
      # 処理を終了
      return
    end
    # 機能が無効化されている場合
    if $game_switches[MINTO::Not_MirrorWall_Switch] == true then
      # 不可視状態にする
      @mirror_sprite.visible = false
      # メソッドを返す
      return
    end
    # マップで無い場合
    unless SceneManager.scene.is_a?(Scene_Map)
      # メソッドを返す
      return
    end
    # スプライトセットの有効判定
    effective = (SceneManager.scene.spriteset != nil)
    # スプライトセットが有効で、且つ一歩上に鏡の壁イベントが存在する場合
    if effective and SceneManager.scene.spriteset.mirror_wall[x, y-1] == 1 then
      # Y座標補正値を初期化する
      @y_plus = -48
      # 透明度を調節
      @mirror_sprite.opacity = (@mirror_sprite.opacity + 6).to_m(160)
      @z_plus = 999
      #@mirror_sprite.wave_amp = 1
      #@mirror_sprite.wave_length = 40
      #@mirror_sprite.wave_speed = 320
    # 一歩上のタイルが鏡の壁以外の場合
    elsif mirror_wall_include?(x, (y - 1)) == false then
      # 不透明にする
      @mirror_sprite.opacity = 0
      # 鏡を不可視状態にする
      @mirror_sprite.visible = false
      #@mirror_sprite.wave_amp = 0
      #@mirror_sprite.wave_length = 0
      #@mirror_sprite.wave_speed = 0
      # 処理を終了
      return
    # 一歩上のタイルが鏡の壁の場合
    else
      # Y座標補正値を初期化する
      @y_plus = -32
      # 透明度を調節
      @mirror_sprite.opacity = (@mirror_sprite.opacity + 6).to_m(160)
      #@mirror_sprite.wave_amp = 0
      #@mirror_sprite.wave_length = 0
      #@mirror_sprite.wave_speed = 0
    end
    # タイル ID が有効な値の場合
    if @tile_id >= 1 then
      # 各情報を更新する
      @mirror_sprite.src_rect = self.src_rect
      @mirror_sprite.x = self.x
      @mirror_sprite.y = self.y + (self.oy / 6) + @y_plus
      @mirror_sprite.z = self.z - 1
      @mirror_sprite.visible = self.visible
      # メソッドを返す
      return
    end
    # キャラクターの向きに応じて分岐
    case @character.direction
    # 下
    when 2 then
      direction = 8
    # 左
    when 4 then
      direction = 6
    # 右
    when 6 then
      direction = 4
    # 上
    when 8 then
      direction = 2
    end
    # 各情報を更新する
    index = @character.character_index
    pattern = @character.pattern < 3 ? @character.pattern : 1
    sx = (index % 4 * 3 + pattern) * @cw
    sy = (index / 4 * 4 + (direction - 2) / 2) * @ch
    @mirror_sprite.src_rect.set(sx, sy, @cw, @ch)
    @mirror_sprite.x = self.x
    @mirror_sprite.y = self.y + (self.oy / 6) + @y_plus
    @mirror_sprite.z = self.z + @z_plus
    @mirror_sprite.visible = self.visible
    @mirror_sprite.update
  end
end
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  マップ画面の処理を行うクラスです。
#==============================================================================

class Scene_Map
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor :spriteset                  # スプライトセット
end

end
[/pre]反射
回复

使用道具 举报

梦石
0
星屑
48
在线时间
312 小时
注册时间
2014-2-28
回帖
861
 楼主| 发表于 2014-3-31 17:02:22 | 显示全部楼层
tseyik 发表于 2014-3-31 09:21
http://galvs-scripts.com/category/rmvxa-scripts/audiovisual-effects/#post-662
Character Effects

那请问把脚本复制到插件栏目后还需要做些什么才能做到以上的四种效果呢?

点评

点Demo – Version 2.1 >就可下載  发表于 2014-3-31 17:12
下脚本那頁有範例下載,很易的  发表于 2014-3-31 17:11

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
由于我不服H·H·Y大触事件满于是他让我的事件也调满于是我照着做了结果那货居然把事件调低了……结果我现在原稿找不回来了只好保持着事件满的状态在大家面前闹笑话擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
回复

使用道具 举报

梦石
0
星屑
48
在线时间
312 小时
注册时间
2014-2-28
回帖
861
 楼主| 发表于 2014-3-31 17:32:52 | 显示全部楼层
冰之滄月 发表于 2014-3-31 17:02
那请问把脚本复制到插件栏目后还需要做些什么才能做到以上的四种效果呢? ...

@tseyik 谢谢。不过镜子的图块在哪里?

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
由于我不服H·H·Y大触事件满于是他让我的事件也调满于是我照着做了结果那货居然把事件调低了……结果我现在原稿找不回来了只好保持着事件满的状态在大家面前闹笑话擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部