设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2478|回复: 2
打印 上一主题 下一主题

[已经解决] 【默认素材】 这个阴影图片素材怎么好像系统没有使用……

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
521 小时
注册时间
2011-12-7
帖子
305
跳转到指定楼层
1
发表于 2013-8-11 11:54:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Ceopal 于 2013-8-11 13:28 编辑



主角NPC好像都没有带阴影吧?




@喵呜喵5  原来如此!

@gaogs123456  好的……(我问一句话你就这么详尽的答……辛苦了``)

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21636
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2013-8-11 12:05:18 手机端发表。 | 只看该作者
飞行船有

评分

参与人数 1星屑 +80 收起 理由
Sion + 80 原来如此

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
473
在线时间
487 小时
注册时间
2011-10-12
帖子
407
3
发表于 2013-8-11 13:19:22 | 只看该作者
本帖最后由 gaogs123456 于 2013-8-11 13:24 编辑

脚本:环境主脚本(加入的原因是单独只有影描写会出错,把这个脚本放在影描写上面)
  1. #◆◇◆◇◆  マスタースクリプトVXA ver 1.00  ◇◆◇◆◇
  2. #  サポート掲示板 http://www2.ezbbs.net/21/minto-aaa/
  3. #   by みんと

  4. =begin

  5. ■ 更新履歴

  6. ○ Ver 1.00(2012/01/16)
  7. 公開

  8. ■ 説明

  9. 全てのみんとRGSSより上に導入してください。
  10. (基本的にシステム上部に導入してください)

  11. これがないと全てのみんとRGSS3は動作いたしません。

  12. =end

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

  18. module MINTO
  19.   
  20.   # VXRGSSの導入環境ハッシュを初期化
  21.   RGSS = {}
  22.   
  23. end

  24. #==============================================================================
  25. # ☆ MINTO_System
  26. #------------------------------------------------------------------------------
  27. #   様々な機能を扱うシステムモジュールです。
  28. #==============================================================================

  29. module MINTO_System
  30.   #--------------------------------------------------------------------------
  31.   # ● 開始処理
  32.   #--------------------------------------------------------------------------
  33.   def start
  34.     @tone_rate = 0
  35.     # シーンスプライトを作成
  36.     @scene_sprite = Sprite_Base.new
  37.     # スーパークラスを実行
  38.     super
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● トランジション実行
  42.   #--------------------------------------------------------------------------
  43.   def perform_transition
  44.     # スーパークラスを実行
  45.     super
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● 開始後処理
  49.   #--------------------------------------------------------------------------
  50.   def post_start
  51.     # スーパークラスを実行
  52.     super
  53.   end
  54.   #--------------------------------------------------------------------------
  55.   # ● フレーム更新
  56.   #--------------------------------------------------------------------------
  57.   def update
  58.     # シーンスプライトを更新
  59.     @scene_sprite.update
  60.     # スーパークラスを実行
  61.     super
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 終了前処理
  65.   #--------------------------------------------------------------------------
  66.   def pre_terminate
  67.     # スーパークラスを実行
  68.     super
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● 終了処理
  72.   #--------------------------------------------------------------------------
  73.   def terminate
  74.     # シーンスプライトを解放
  75.     @scene_sprite.bitmap.dispose if @scene_sprite.bitmap
  76.     @scene_sprite.dispose
  77.     @scene_sprite = nil
  78.     # スーパークラスを実行
  79.     super
  80.   end
  81. end

  82. # ☆ 開発用メソッド追加 ☆

  83. #==============================================================================
  84. # ■ Scene_Base
  85. #------------------------------------------------------------------------------
  86. #  ゲーム中のすべてのシーンのスーパークラスです。
  87. #==============================================================================

  88. class Scene_Base
  89.   #--------------------------------------------------------------------------
  90.   # ● 暗転モード処理
  91.   #--------------------------------------------------------------------------
  92.   def blackout(type = 0, power = 10, max = 100, sprite = nil)
  93.     @tone_power = power
  94.     @tone_type = type
  95.     @tone_max = max
  96.     update_blackout(sprite)
  97.   end
  98.   #--------------------------------------------------------------------------
  99.   # ● フレーム更新 (暗転処理)
  100.   #--------------------------------------------------------------------------
  101.   def update_blackout(sprite)
  102.     case @tone_type
  103.     when 0
  104.       if @tone_rate != -@tone_max
  105.         @tone_rate = [@tone_rate - @tone_power, -@tone_max].max
  106.         sprite.tone.red = @tone_rate
  107.         sprite.tone.green = @tone_rate
  108.         sprite.tone.blue = @tone_rate
  109.       end
  110.     when 1
  111.       if @tone_rate != 0
  112.         @tone_rate = [@tone_rate + @tone_power, 0].min
  113.         sprite.tone.red = @tone_rate
  114.         sprite.tone.green = @tone_rate
  115.         sprite.tone.blue = @tone_rate
  116.       end
  117.     end
  118.   end
  119. end
  120. #==============================================================================
  121. # ■ Object
  122. #------------------------------------------------------------------------------
  123. #  全てのクラスのスーパークラス。オブジェクトの一般的な振舞いを定義します。
  124. #==============================================================================

  125. class Object
  126.   #--------------------------------------------------------------------------
  127.   # ● 深い複製の作成
  128.   #--------------------------------------------------------------------------
  129.   def dec
  130.     # Marshalもモジュールを経由して、完全な複製を作成
  131.     return Marshal.load(Marshal.dump(self))
  132.   end
  133. end
  134. #==============================================================================
  135. # ■ NilClass
  136. #------------------------------------------------------------------------------
  137. #  nil のクラス。nil は NilClass クラスの唯一のインスタンスです。
  138. #==============================================================================

  139. class NilClass
  140.   #--------------------------------------------------------------------------
  141.   # ● デバイスの取得
  142.   #--------------------------------------------------------------------------
  143.   def to_d
  144.     return "BGM"
  145.   end
  146. end
  147. #==============================================================================
  148. # ■ String
  149. #------------------------------------------------------------------------------
  150. #  文字列クラス。任意の長さのバイト列を扱うことができます。
  151. #==============================================================================

  152. class String
  153.   #--------------------------------------------------------------------------
  154.   # ● デバイスの取得
  155.   #--------------------------------------------------------------------------
  156.   def to_d
  157.     return self
  158.   end
  159. end
  160. #==============================================================================
  161. # ■ Audio
  162. #------------------------------------------------------------------------------
  163. #  ミュージック、サウンドにかかわる処理を行うモジュールです。
  164. #==============================================================================

  165. module Audio
  166.   #--------------------------------------------------------------------------
  167.   # ● 音楽の解放
  168.   #--------------------------------------------------------------------------
  169.   def self.dispose
  170.     #self.bgs_stop
  171.     self.me_stop
  172.     self.bgm_stop
  173.   end
  174. end
  175. #==============================================================================
  176. # ■ Sprite
  177. #------------------------------------------------------------------------------
  178. #  スプライト表示を扱う組み込みクラスです。
  179. #==============================================================================

  180. class Sprite
  181.   #--------------------------------------------------------------------------
  182.   # ● 座標の設定
  183.   #--------------------------------------------------------------------------
  184.   def rect_set(x, y, z = 100)
  185.     self.x = x if x
  186.     self.y = y if y
  187.     self.z = z if z
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # ● データの取得
  191.   #--------------------------------------------------------------------------
  192.   def data_copy(data)
  193.     return if data.disposed? or self.disposed?
  194.     # 各データをコピー
  195.     self.x = data.x
  196.     self.y = data.y
  197.     self.z = data.z-1
  198.     self.visible = data.visible
  199.     self.ox = data.ox
  200.     self.oy = data.oy
  201.     self.angle = data.angle
  202.     self.mirror = data.mirror
  203.     self.src_rect = data.src_rect.dup
  204.     self.zoom_x = data.zoom_x
  205.     self.zoom_y = data.zoom_y
  206.   end
  207.   #--------------------------------------------------------------------------
  208.   # ● 残像用の複製の作成
  209.   #--------------------------------------------------------------------------
  210.   def blink
  211.     # 各データをコピー
  212.     sprite = Sprite.new(self.viewport)
  213.     sprite.bitmap = self.bitmap.dup if self.bitmap
  214.     sprite.x = self.x
  215.     sprite.y = self.y
  216.     sprite.z = self.z-1
  217.     sprite.visible = false
  218.     sprite.ox = self.ox
  219.     sprite.oy = self.oy
  220.     sprite.angle = self.angle
  221.     sprite.mirror = self.mirror
  222.     sprite.opacity = self.opacity - 95
  223.     sprite.blend_type = 1
  224.     sprite.color = self.color.dup
  225.     sprite.src_rect = self.src_rect.dup
  226.     sprite.zoom_x = self.zoom_x
  227.     sprite.zoom_y = self.zoom_y
  228.     return sprite
  229.   end
  230.   #--------------------------------------------------------------------------
  231.   # ● 複製の作成
  232.   #--------------------------------------------------------------------------
  233.   def dup
  234.     # 各データをコピー
  235.     sprite = Sprite.new(self.viewport)
  236.     sprite.bitmap = self.bitmap.dup if self.bitmap
  237.     sprite.x = self.x
  238.     sprite.y = self.y
  239.     sprite.z = self.z
  240.     sprite.visible = self.visible
  241.     sprite.ox = self.ox
  242.     sprite.oy = self.oy
  243.     sprite.angle = self.angle
  244.     sprite.mirror = self.mirror
  245.     sprite.opacity = self.opacity
  246.     sprite.blend_type = self.blend_type
  247.     sprite.color = self.color.dup
  248.     sprite.src_rect = self.src_rect.dup
  249.     sprite.zoom_x = self.zoom_x
  250.     sprite.zoom_y = self.zoom_y
  251.     return sprite
  252.   end
  253.   #--------------------------------------------------------------------------
  254.   # ● センタリング
  255.   #--------------------------------------------------------------------------
  256.   def centering
  257.     return if self.bitmap == nil
  258.     self.x = (640 - (self.bitmap.width * self.zoom_x)) / 2
  259.     self.y = (480 - (self.bitmap.height * self.zoom_y)) / 2
  260.   end
  261.   #--------------------------------------------------------------------------
  262.   # ● ズーム
  263.   #--------------------------------------------------------------------------
  264.   def zoom=(n)
  265.     zoom_x = n
  266.     zoom_y = n
  267.   end
  268.   #--------------------------------------------------------------------------
  269.   # ● エフェクト表示中判定
  270.   #--------------------------------------------------------------------------
  271.   def effect?
  272.     return false
  273.   end
  274. end
  275. #==============================================================================
  276. # ■ Array
  277. #------------------------------------------------------------------------------
  278. #  配列全般を扱う組み込みクラスです。
  279. #==============================================================================

  280. class Array
  281.   #--------------------------------------------------------------------------
  282.   # ● 要素の一次元化
  283.   #--------------------------------------------------------------------------
  284.   def divide
  285.     array = []
  286.     # データを複製
  287.     data = self.dup
  288.     # 要素の一次元化
  289.     data.each do |i|
  290.       if i.is_a?(Array)
  291.         for a in i
  292.           array.push(a)
  293.         end
  294.       else
  295.         array.push(i)
  296.       end
  297.     end
  298.     return array
  299.   end
  300.   #--------------------------------------------------------------------------
  301.   # ● 要素のシャッフル
  302.   #--------------------------------------------------------------------------
  303.   def shuffle
  304.     # データを複製
  305.     data = self.dup
  306.     # 要素をランダムに並び替える
  307.     data.each_index do |i|
  308.       j = rand(i+1)
  309.       data[i], data[j] = data[j], data[i]
  310.     end
  311.     return data
  312.   end
  313.   #--------------------------------------------------------------------------
  314.   # ● 要素のシャッフル(破壊的)
  315.   #--------------------------------------------------------------------------
  316.   def shuffle!
  317.     # 要素をランダムに並び替える
  318.     self.each_index do |i|
  319.       j = rand(i+1)
  320.       self[i], self[j] = self[j], self[i]
  321.     end
  322.   end
  323.   #--------------------------------------------------------------------------
  324.   # ● 要素をランダムに返す
  325.   #--------------------------------------------------------------------------
  326.   def get_rand
  327.     return self[rand(self.size)]
  328.   end
  329.   #--------------------------------------------------------------------------
  330.   # ● 要素の交換
  331.   #    a : 要素1
  332.   #    b : 要素2
  333.   #--------------------------------------------------------------------------
  334.   def change(a, b)
  335.     # データを複製
  336.     data = self.dup
  337.     # 要素を交換する(self自体には変化がない)
  338.     data[a] = self[b]
  339.     data[b] = self[a]
  340.     return data
  341.   end
  342.   #--------------------------------------------------------------------------
  343.   # ● 要素の交換(破壊的)
  344.   #    a : 要素1
  345.   #    b : 要素2
  346.   #--------------------------------------------------------------------------
  347.   def change!(a, b)
  348.     # 要素を交換する(selfを直接書き換える)
  349.     self[a], self[b] = self[b], self[a]
  350.   end
  351. end
  352. #==============================================================================
  353. # ■ Numeric
  354. #------------------------------------------------------------------------------
  355. #  数値全般を扱う組み込みクラスです。
  356. #==============================================================================

  357. class Numeric
  358.   #--------------------------------------------------------------------------
  359.   # ● 乱数の設定
  360.   #    n : 乱数値
  361.   #--------------------------------------------------------------------------
  362.   def amp(n)
  363.     amp = (self.abs * n / 100).to_min(1)
  364.     return self + rand(amp+1) + rand(amp+1) - amp
  365.   end
  366.   #--------------------------------------------------------------------------
  367.   # ● 値の調整
  368.   #    order : 求められた値
  369.   #    size  : 最大サイズ
  370.   #--------------------------------------------------------------------------
  371.   def select(order, size)
  372.     if self - order <= -1
  373.       return size
  374.     elsif self + order >= size
  375.       return 0
  376.     else
  377.       return self + order
  378.     end
  379.   end
  380.   #--------------------------------------------------------------------------
  381.   # ● 最大値の設定
  382.   #    max : 求められた最大の数値
  383.   #--------------------------------------------------------------------------
  384.   def to_max(min, max)
  385.     if self > max
  386.       return max
  387.     elsif self < min
  388.       return min
  389.     else
  390.       return self
  391.     end
  392.   end
  393.   #--------------------------------------------------------------------------
  394.   # ● 最大値の設定
  395.   #    max : 求められた最大の数値
  396.   #--------------------------------------------------------------------------
  397.   def to_m(max)
  398.     if self > max
  399.       return max
  400.     else
  401.       return self
  402.     end
  403.   end
  404.   #--------------------------------------------------------------------------
  405.   # ● 最小値の設定
  406.   #    min : 求められた最小の数値
  407.   #--------------------------------------------------------------------------
  408.   def to_min(min)
  409.     if self < min
  410.       return min
  411.     else
  412.       return self
  413.     end
  414.   end
  415.   #--------------------------------------------------------------------------
  416.   # ● 範囲内から乱数を得る
  417.   #    min : 求められた最小の数値
  418.   #--------------------------------------------------------------------------
  419.   def mm_rand(min)
  420.     return rand(self - min + 1) + min
  421.   end
  422.   #--------------------------------------------------------------------------
  423.   # ● 求めた数値に対するパーセンテージを返す
  424.   #    order : 求められた数値
  425.   #--------------------------------------------------------------------------
  426.   def rate(order)
  427.     return 100 if order == 0
  428.     return (self * 100) / order
  429.   end
  430. end
  431. #==============================================================================
  432. # ■ Window
  433. #------------------------------------------------------------------------------
  434. #  ゲーム内の全てのウィンドウのスーパークラスです。
  435. #   内部的には複数のスプライトで構成されています。
  436. #==============================================================================

  437. class Window
  438.   #--------------------------------------------------------------------------
  439.   # ● 暗転モード処理
  440.   #--------------------------------------------------------------------------
  441.   def blackout(type = 0, power = 10, max = 100, sprite = @win_viewport)
  442.     @tone_power = power
  443.     @tone_type = type
  444.     @tone_max = max
  445.     update_blackout(sprite)
  446.   end
  447.   #--------------------------------------------------------------------------
  448.   # ● フレーム更新 (暗転処理)
  449.   #--------------------------------------------------------------------------
  450.   def update_blackout(sprite = @win_viewport)
  451.     case @tone_type
  452.     when 0
  453.       if @tone_rate != -@tone_max
  454.         @tone_rate = [@tone_rate - @tone_power, -@tone_max].max
  455.         sprite.tone.red = @tone_rate
  456.         sprite.tone.green = @tone_rate
  457.         sprite.tone.blue = @tone_rate
  458.       end
  459.     when 1
  460.       if @tone_rate != 0
  461.         @tone_rate = [@tone_rate + @tone_power, 0].min
  462.         sprite.tone.red = @tone_rate
  463.         sprite.tone.green = @tone_rate
  464.         sprite.tone.blue = @tone_rate
  465.       end
  466.     end
  467.   end
  468.   #--------------------------------------------------------------------------
  469.   # ● ウィンドウの右寄せ
  470.   #--------------------------------------------------------------------------
  471.   def right(x)
  472.     # ウィンドウを画面の右に配置する
  473.     self.x = (x - self.width)
  474.   end
  475.   #--------------------------------------------------------------------------
  476.   # ● ウィンドウの下寄せ
  477.   #--------------------------------------------------------------------------
  478.   def down(y)
  479.     # ウィンドウを画面の右に配置する
  480.     self.y = (480 - self.height - y)
  481.   end
  482.   #--------------------------------------------------------------------------
  483.   # ● ウィンドウのセンタリング
  484.   #--------------------------------------------------------------------------
  485.   def centering
  486.     # ウィンドウを画面の中央に配置する
  487.     self.x = (640 - self.width)  / 2
  488.     self.y = (480 - self.height) / 2
  489.   end
  490. end
复制代码
脚本:影描写
  1. #◆◇◆◇◆ 影描写スクリプトVXA ver 1.00 ◇◆◇◆◇
  2. # 全マスタースクリプト共通スクリプト
  3. #  サポート掲示板 http://www2.ezbbs.net/21/minto-aaa/
  4. #   by みんと

  5. =begin

  6. ■ 更新履歴

  7. ○ ver 1.00(2012/01/21)
  8. 公開

  9. ■ 説明

  10. キャラクターに影を描写します。
  11. プレイヤーの場合は自動で、
  12. イベントの場合は名前に 影 の文字が含まれていれば影を描写します。

  13. 影はグラフィックが存在しない場合は描写しません。
  14. 画像はピクチャーフォルダにインポートしてください。

  15. =end

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

  21. module MINTO
  22.   
  23.   # 影描写スクリプトVXAを有効化 ( true で有効 / false で無効 )
  24.   RGSS["影描写スクリプトVXA"] = true
  25.   
  26. end

  27. # 影描写スクリプトVXAが有効な場合に以降の処理を実行する
  28. if MINTO::RGSS["影描写スクリプトVXA"] == true then

  29. #==============================================================================
  30. # ■ Sprite_Shadow_Module
  31. #------------------------------------------------------------------------------
  32. #  影表示用のスプライトです。
  33. #   Game_Character クラスのインスタンスを監視し、
  34. #   スプライトの状態を自動的に変化させます。
  35. #==============================================================================

  36. module Sprite_Shadow_Module
  37.   #--------------------------------------------------------------------------
  38.   # ● 解放
  39.   #--------------------------------------------------------------------------
  40.   def dispose
  41.     # 影が存在する場合
  42.     unless @character_shadow.nil? then
  43.       # 影を解放
  44.       @character_shadow.bitmap.dispose
  45.       @character_shadow.dispose
  46.     end
  47.     # 継承先の処理に移行
  48.     super
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 影の作成
  52.   #--------------------------------------------------------------------------
  53.   def character_shadow_set
  54.     # 影用のスプライトを生成
  55.     @character_shadow = Sprite.new(self.viewport)
  56.     # 影用の画像を読み込む
  57.     @character_shadow.bitmap = Cache.picture("Shadows")
  58.     # 影を半透明にする
  59.     @character_shadow.opacity = (self.character.opacity / 1)
  60.     # 座標を調節する
  61.     @shadow_size = @character_shadow.bitmap.width
  62.     @character_shadow.zoom_x = ((@cw * 100) / @shadow_size) / 100.0
  63.     @character_shadow.zoom_y = @character_shadow.zoom_x
  64.     ox_rate = ((32 * 100) / @cw) / 100.0
  65.     oy_rate = ((48 * 100) / @ch) / 100.0
  66.     @character_shadow.ox = self.ox * ox_rate
  67.     @character_shadow.oy = ((self.oy * oy_rate) / 2) - 4
  68.     @last_character_name = @character_name.dup
  69.     # 影を更新
  70.     update_character_shadow
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 影の更新
  74.   #--------------------------------------------------------------------------
  75.   def update_character_shadow
  76.     # 元々影が存在しない場合
  77.     if @character_shadow == nil then
  78.       # 処理を終了
  79.       return
  80.     end
  81.     # 解放済みの場合
  82.     unless @character_shadow.bitmap.nil?
  83.       if @character_shadow.bitmap.disposed? then
  84.         # 処理を終了
  85.         return
  86.       end
  87.     end
  88.     # ジャンプ中の場合
  89.     if @character.jumping? then
  90.       # 影を非表示にする
  91.       @character_shadow.visible = false
  92.       # 処理を終了
  93.       return
  94.     end
  95.     # タイル ID、ファイル名、色相のどれかが現在のものと異なる場合
  96.     if @last_character_name_shadow != @character_name
  97.       @last_character_name_shadow = @character_name
  98.       # 座標を調節する
  99.       @shadow_size = @character_shadow.bitmap.width
  100.       @character_shadow.zoom_x = ((@cw * 100) / @shadow_size) / 100.0
  101.       @character_shadow.zoom_y = @character_shadow.zoom_x
  102.       @zoom_ox = @character_shadow.zoom_x
  103.       @zoom_oy = @character_shadow.zoom_y
  104.       ox_rate = ((32 * 100) / @cw) / 100.0
  105.       oy_rate = ((48 * 100) / @ch) / 100.0
  106.       @character_shadow.ox = self.ox * ox_rate
  107.       @character_shadow.oy = ((self.oy * oy_rate) / 2) - 4
  108.     end
  109.     # 各情報を更新する
  110.     @character_shadow.x = self.x
  111.     @character_shadow.y = self.y
  112.     @character_shadow.zoom_x = @zoom_ox * self.zoom_x
  113.     @character_shadow.zoom_y = @zoom_oy * self.zoom_y
  114.     @character_shadow.visible = (self.visible and @character_name != "")
  115.     @character_shadow.opacity = (self.character.opacity / 1)
  116.   end
  117. end
  118. #==============================================================================
  119. # ■ Game_Event
  120. #------------------------------------------------------------------------------
  121. #  イベントを扱うクラスです。条件判定によるイベントページ切り替えや、並列処理
  122. # イベント実行などの機能を持っており、Game_Map クラスの内部で使用されます。
  123. #==============================================================================

  124. class Game_Event < Game_Character
  125.   #--------------------------------------------------------------------------
  126.   # ● 公開インスタンス変数
  127.   #--------------------------------------------------------------------------
  128.   attr_reader   :event                    # イベント
  129. end
  130. #==============================================================================
  131. # ■ Sprite_Character
  132. #------------------------------------------------------------------------------
  133. #  キャラクター表示用のスプライトです。Game_Character クラスのインスタンスを
  134. # 監視し、スプライトの状態を自動的に変化させます。
  135. #==============================================================================

  136. class Sprite_Character < Sprite_Base
  137.   #--------------------------------------------------------------------------
  138.   # ● システムインクルード
  139.   #--------------------------------------------------------------------------
  140.   include(Sprite_Shadow_Module)           # 影描写モジュール
  141.   #--------------------------------------------------------------------------
  142.   # ● オブジェクト初期化
  143.   #     character : キャラクター (Game_Character)
  144.   #--------------------------------------------------------------------------
  145.   alias :MINTO_Character_Shadow_initialize :initialize
  146.   def initialize(viewport, character = nil)
  147.     # 元の処理を実行
  148.     MINTO_Character_Shadow_initialize(viewport, character)
  149.     # キャラクターのタイプに応じて分岐
  150.     case @character
  151.     # プレイヤー
  152.     when Game_Player then
  153.       # 影を作成
  154.       character_shadow_set
  155.     # フォロワー
  156.     when Game_Follower then
  157.       # 影を作成
  158.       character_shadow_set
  159.     # イベント
  160.     when Game_Event then
  161.       # イベントの名前に 影 が含まれている場合
  162.       if @character.event.name.include?("影") == true then
  163.         # 影を作成
  164.         character_shadow_set
  165.       end
  166.     end
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # ● フレーム更新
  170.   #--------------------------------------------------------------------------
  171.   alias :update_MINTO_Character_Shadow :update
  172.   def update
  173.     # 元の処理を実行
  174.     update_MINTO_Character_Shadow
  175.     # 影を更新
  176.     update_character_shadow
  177.   end
  178. end

  179. end
复制代码
主角的影子不用设置,脚本69行    @character_shadow.bitmap = Cache.picture("Shadows")
影子图放在picture文件夹里,括号里的文件夹名自己也可以定义。
给事件加影子的方法,左上角的名称里标上 ["影描写スクリプトVXA"] = true 是不是很长?我表示不知道该怎么改短。
如果想更改影子的显示位置,用PS上下左右移动影子图微调也行。

评分

参与人数 1梦石 +1 收起 理由
Sion + 1 辛苦了

查看全部评分

莺莺飞蛾夜灯寻,小路迷途飞满庭;
追爱明光夜夜怜,不觉天明为谁晴。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 00:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表