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

Project1

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

按键加速时,附加影子

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
80
在线时间
0 小时
注册时间
2008-5-8
帖子
4
跳转到指定楼层
1
发表于 2008-5-10 05:31:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
RT。。

版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

WG后援团
此人已死 有事烧纸

梦石
0
星屑
69
在线时间
12 小时
注册时间
2008-1-12
帖子
1829

贵宾

3
发表于 2008-5-10 05:34:57 | 只看该作者
影子可以实现,但是要用到注释,要修改这个脚本
  1. #◆◇◆◇◆ 鏡床スクリプト ver 1.02 ◇◆◇◆◇
  2. #  サポート掲示板 http://www2.ezbbs.net/21/minto-aaa/
  3. #   by みんと

  4. =begin

  5. 更新履歴

  6. ver 1.02
  7. 特定の条件下でエラー落ちするミスを修正。

  8. ver 1.01
  9. スプライト解放時のミスを修正。

  10. 説明

  11. 現在キャラクターが立っている
  12. 「一歩下」のタイルの地形タグが、特定の値だった場合、
  13. 一歩下のタイルにキャラクターの半透明の映像を映し出します。

  14. 水面などの演出に向いています。

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

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

  22. =end

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

  28. module MINTO
  29.   
  30.   # 鏡床スクリプトを有効化 ( true で有効 / false で無効 )
  31.   #RGSS["Mirror_Tile"] = true
  32.   RGSS_SZ_A = true
  33. end

  34. #if MINTO::RGSS["Mirror_Tile"] == true then
  35. if MINTO::RGSS_SZ_A == true then

  36. #==============================================================================
  37. # ☆ カスタマイズ
  38. #------------------------------------------------------------------------------
  39. #   機能のカスタマイズを行うモジュールです。
  40. #==============================================================================

  41. module MINTO
  42.   
  43.   # 鏡床のタイルとして扱う地形タグのID
  44.   Mirror_Tile_ID = 1
  45.   
  46. end
  47. #==============================================================================
  48. # ■ Sprite
  49. #------------------------------------------------------------------------------
  50. #  スプライト表示を扱う組み込みクラスです。
  51. #==============================================================================

  52. class Sprite
  53.   #--------------------------------------------------------------------------
  54.   # ● 複製の作成
  55.   #--------------------------------------------------------------------------
  56.   def dup
  57.     # 各データをコピー
  58.     sprite = Sprite.new(self.viewport)
  59.     sprite.bitmap = self.bitmap
  60.     sprite.x = self.x
  61.     sprite.y = self.y
  62.     sprite.z = self.z
  63.     sprite.visible = self.visible
  64.     sprite.ox = self.ox
  65.     sprite.oy = self.oy
  66.     sprite.angle = self.angle
  67.     sprite.mirror = self.mirror
  68.     sprite.opacity = self.opacity
  69.     sprite.blend_type = self.blend_type
  70.     sprite.color = self.color
  71.     rect = self.src_rect
  72.     sprite.src_rect.set(rect.x, rect.y, rect.width, rect.height)
  73.     sprite.zoom_x = self.zoom_x
  74.     sprite.zoom_y = self.zoom_y
  75.     return sprite
  76.   end
  77. end
  78. #==============================================================================
  79. # ■ Sprite_Character
  80. #------------------------------------------------------------------------------
  81. #  キャラクター表示用のスプライトです。
  82. #   Game_Character クラスのインスタンスを監視し、
  83. #   スプライトの状態を自動的に変化させます。
  84. #==============================================================================

  85. class Sprite_Character < RPG::Sprite
  86.   #--------------------------------------------------------------------------
  87.   # ● 解放
  88.   #--------------------------------------------------------------------------
  89.   def dispose
  90.     # 影が存在する場合
  91.     if @shadow_sprite != nil then
  92.       # 影を解放
  93.       @shadow_sprite.bitmap.dispose
  94.       @shadow_sprite.dispose
  95.     end
  96.     # スーパークラスを実行
  97.     super
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # ● 地形タグの取得
  101.   #--------------------------------------------------------------------------
  102.   def terrain_tag(x, y)
  103.     # 地形タグの情報を返す
  104.     return $game_map.terrain_tag(x, y)
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ● 影の作成
  108.   #--------------------------------------------------------------------------
  109.   def shadow_set
  110.     # 影用のスプライトを生成
  111.     @shadow_sprite = self.dup
  112.     # 座標を調節する
  113.     @shadow_sprite.y = self.y - (self.oy / 6)
  114.     @shadow_sprite.z = self.z
  115.     # 色を白っぽくする
  116.     @shadow_sprite.tone.red = 64
  117.     @shadow_sprite.tone.green = 64
  118.     @shadow_sprite.tone.blue = 64
  119.     # 半透明にする
  120.     @shadow_sprite.opacity = 160
  121.     # 180度回転させる
  122.     @shadow_sprite.angle = 180
  123.     # 左右を反転させる
  124.     @shadow_sprite.mirror = (not self.mirror == true)
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● 影の更新
  128.   #--------------------------------------------------------------------------
  129.   def update_shadow
  130.     # キャラクターの現在位置を取得
  131.     x = @character.x
  132.     y = @character.y
  133.     # 元々影が存在しない場合
  134.     if @shadow_sprite == nil then
  135.       # 処理を終了
  136.       return
  137.     end
  138.     # 下のタイルの地形タグのIDが Mirror_Tile_ID 以外の場合
  139.     if terrain_tag(x, y+1) != MINTO::Mirror_Tile_ID then
  140.       # 影を不可視状態にする
  141.       @shadow_sprite.visible = false
  142.       # 処理を終了
  143.       return
  144.     # 下のタイルの地形タグのIDが Mirror_Tile_ID の場合
  145.     else
  146.       # Y座標補正値を初期化する
  147.       @y_plus = 0
  148.     end
  149.     # 各情報を更新する
  150.     rect = self.src_rect
  151.     @shadow_sprite.src_rect.set(rect.x, rect.y, rect.width, rect.height)
  152.     @shadow_sprite.x = self.x
  153.     @shadow_sprite.y = self.y - (self.oy / 6) + @y_plus
  154.     @shadow_sprite.opacity = self.opacity - 95
  155.     @shadow_sprite.z = self.z - 1
  156.     @shadow_sprite.visible = self.visible
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● フレーム更新
  160.   #    alias : update_MINTO_Mirror_Tile
  161.   #--------------------------------------------------------------------------
  162.   alias update_MINTO_Mirror_Tile update
  163.   def update
  164.     # 元の処理を実行
  165.     update_MINTO_Mirror_Tile
  166.     # まだ影を作成していない場合
  167.     if @shadow == nil then
  168.       # キャラクターがイベントの場合
  169.       if @character.is_a?(Game_Event) == true then
  170.         # 有効なイベントの場合
  171.         if @character.list != nil then
  172.           # 最初の内容が注釈の場合
  173.           if @character.list[0].code == 108 then
  174.             # 注釈の内容が「影描写」だった場合
  175.             if @character.list[0].parameters == ["影描写"] then
  176.               # 影を作成
  177.               shadow_set
  178.               # 作成済みフラグをオン
  179.               @shadow = true
  180.             end
  181.           end
  182.         end
  183.       # キャラクターがプレイヤーの場合
  184.       else
  185.         # 影を作成
  186.         shadow_set
  187.         # 作成済みフラグをオン
  188.         @shadow = true
  189.       end
  190.     end
  191.     # 影を更新
  192.     update_shadow
  193.   end
  194. end

  195. end
复制代码
郑重声明:
1.本人是文盲,以上内容文字均不认识,也看不懂是什么意思。
2.此事与本人一点关系都没有,只是本着“看贴(虽然看不懂)回贴,利人利己的中华民族优秀传统美德”,顺便赚1个RP。
3. 本人在此留言均为网络上复制,并不代表本人同意、支持或者反对楼主观点。  
4. 如本人留言违反国家有关法律,请网络管理员及时删除本人跟贴。  
5. 因删贴不及时所产生的任何法律(包括宪法,民法,刑法,书法,公检法,基本法,劳动法,婚姻法,输入法,没办法,国际法,今日说法,吸星大-法,与台湾关系法及文中涉及或可能涉及以及未涉及之法,各地治安管理条例)纠纷或责任本人概不负责。
6. 本人谢绝任何跨省追捕行为,如有需要请直接联系楼主、原作者以及网络管理员或法人代表。  
7. 此声明最终解释权归本人所有。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
2
发表于 2008-5-10 05:34:14 | 只看该作者
是这个吗?
http://rpg.blue/web/htm/news108.htm
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-27 14:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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