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

Project1

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

[已经过期] 怎么弄出幻影效果

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
100 小时
注册时间
2014-10-22
帖子
161
跳转到指定楼层
1
发表于 2014-11-21 11:42:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
怎么才可以做出泡泡堂的幻影效果,加到行走图的话太麻烦,而且做不出不动的时候有一个幻影渐渐消失的效果,最好是脚本(因为事件将会狠狠麻烦)



这些是超级幻影和最新的蜜蜂狙击幻影

{~0ZI5}%W0C7ON([}55M6HH.jpg (17.95 KB, 下载次数: 8)

{~0ZI5}%W0C7ON([}55M6HH.jpg

4037_16294861[1].jpg (46.94 KB, 下载次数: 7)

4037_16294861[1].jpg

开一个坑,废一个坑

Lv3.寻梦者

梦石
0
星屑
3657
在线时间
4466 小时
注册时间
2008-6-12
帖子
802
2
发表于 2014-11-21 12:28:46 | 只看该作者
RUBY 代码复制
  1. #◆◇◆◇◆  マップ残像スクリプト ver 1・02  ◇◆◇◆◇
  2. #  サポート掲示板 [url]http://www2.ezbbs.net/21/minto-aaa/[/url]
  3. #   by みんと
  4.  
  5. =begin
  6.  
  7. ■ 更新履歴
  8.  
  9. ○ ver 1.02(2010/12/28)
  10.   アニメ表示で落ちるミスを修正
  11.  
  12. ○ ver 1.01(2010/12/20)
  13.   スクロールに対応していなかったミスを修正
  14.  
  15. ○ ver 1.00(2009/05/24)
  16.   公開
  17.  
  18. ■ 説明
  19.  
  20. マップ上のキャラに残像を表示させます。
  21. イベントの演出に一役買ってくれるかもしれません。
  22.  
  23. 残像を表示するには、
  24. フラッシュに 残像表示 という名前のSEが設定されているアニメを、
  25. 残像をつけたいキャラクターに表示してください。
  26. 以降は残像が維持されます。
  27. 1フレームのアニメに、フラッシュ[残像表示]だけで構いません。
  28.  
  29. 残像を解放するには、
  30. フラッシュに 残像解放 という名前のSE設定されているアニメを、
  31. 残像を解放したいキャラクターに表示してください
  32.  
  33. 残像の色はフラッシュの色がそのまま適用されます。
  34.  
  35. 発生する残像の数はフラッシュの時間を使用します。
  36. ただし、あまり多くすると重くなるので、
  37. 6程度を目安にしてください。
  38.  
  39. =end
  40.  
  41. #==============================================================================
  42. # ☆ MINTO
  43. #------------------------------------------------------------------------------
  44. #   様々なフラグを扱うメインモジュールです。
  45. #==============================================================================
  46.  
  47. module MINTO
  48.  
  49.   # 残像スクリプトを有効化 ( true で有効 / false で無効 )
  50.   RGSS["残像スクリプト"] = true
  51.  
  52. end
  53.  
  54. # 残像スクリプトが有効な場合に以降の処理を実行する
  55. if MINTO::RGSS["残像スクリプト"] == true then
  56.  
  57. #==============================================================================
  58. # ■ Sprite
  59. #------------------------------------------------------------------------------
  60. #  スプライト表示を扱う組み込みクラスです。
  61. #==============================================================================
  62.  
  63. class Sprite
  64.   #--------------------------------------------------------------------------
  65.   # ● 残像用の複製の作成
  66.   #--------------------------------------------------------------------------
  67.   def blink
  68.     # 各データをコピー
  69.     sprite = Sprite.new(self.viewport)
  70.     sprite.bitmap = self.bitmap.dup if self.bitmap
  71.     sprite.x = self.x
  72.     sprite.y = self.y
  73.     sprite.z = self.z - 1
  74.     sprite.visible = false
  75.     sprite.ox = self.ox
  76.     sprite.oy = self.oy
  77.     sprite.angle = self.angle
  78.     sprite.mirror = self.mirror
  79.     sprite.opacity = self.opacity * 80 / 255
  80.     sprite.blend_type = 0
  81.     sprite.color = self.color.dup
  82.     sprite.src_rect = self.src_rect.dup
  83.     sprite.zoom_x = self.zoom_x
  84.     sprite.zoom_y = self.zoom_y
  85.     return sprite
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● データの取得
  89.   #--------------------------------------------------------------------------
  90.   def data_copy(data)
  91.     return if data.disposed? or self.disposed?
  92.     # 各データをコピー
  93.     self.x = data.x
  94.     self.y = data.y
  95.     self.z = data.z - 1
  96.     self.visible = data.visible
  97.     self.ox = data.ox
  98.     self.oy = data.oy
  99.     self.angle = data.angle
  100.     self.mirror = data.mirror
  101.     self.src_rect = data.src_rect
  102.     self.zoom_x = data.zoom_x
  103.     self.zoom_y = data.zoom_y
  104.     self.opacity = data.opacity * 190 / 255
  105.   end
  106. end
  107. #==============================================================================
  108. # ■ Blink_Sprite
  109. #------------------------------------------------------------------------------
  110. #  残像スプライト表示を扱う組み込みクラスです。
  111. #==============================================================================
  112.  
  113. class Blink_Sprite
  114.   #--------------------------------------------------------------------------
  115.   # ● オブジェクト初期化
  116.   #    sprite : オリジナルの画像
  117.   #--------------------------------------------------------------------------
  118.   def initialize(sprite, size)
  119.     @dx = $game_map.display_x / 4
  120.     @dy = $game_map.display_y / 4
  121.     # 残像のサイズを取得
  122.     @size = size
  123.     # 残像用の配列を作成
  124.     @blink = []
  125.     # ループ処理
  126.     (0...@size).each do |i|
  127.       # 残像スプライトを作成
  128.       @blink[i] = sprite.blink
  129.     end
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● 可視状態の変更
  133.   #    flag : 新しい可視状態
  134.   #--------------------------------------------------------------------------
  135.   def visible=(flag)
  136.     # ループ処理
  137.     for sprite in @blink do
  138.       # 可視状態を変更
  139.       sprite.visible = flag
  140.     end
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ● 残像カラーの変更
  144.   #    color : 新しいカラー
  145.   #--------------------------------------------------------------------------
  146.   def color_set(color)
  147.     # ループ処理
  148.     for sprite in @blink do
  149.       # 残像カラーを変更
  150.       #sprite.color = color.dup
  151.     end
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● 解放
  155.   #--------------------------------------------------------------------------
  156.   def dispose
  157.     # ループ処理
  158.     for sprite in @blink do
  159.       # 残像スプライトが存在する場合
  160.       unless sprite.nil? then
  161.         # 残像スプライトが未解放の場合
  162.         unless sprite.disposed? then
  163.           # 残像スプライトを解放
  164.           sprite.dispose
  165.         end
  166.       end
  167.     end
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● フレーム更新
  171.   #    sprite : オリジナルの画像
  172.   #--------------------------------------------------------------------------
  173.   def update(sprite)
  174.     # 残像が可視状態でない場合
  175.     if @blink[0].visible == false then
  176.       # メソッドを返す
  177.       return
  178.     end
  179.     # ループ処理
  180.     (0...@size).each do |i|
  181.       s = @blink[(@size - 1) - i]
  182.       # 前の残像データを渡す
  183.       s.data_copy(@blink[(@size - 1) - (i + 1)])
  184.       s.ox = s.ox + $game_map.display_x / 4 - @dx
  185.       s.oy = s.oy + $game_map.display_y / 4 - @dy
  186.     end
  187.     @dx = $game_map.display_x / 4
  188.     @dy = $game_map.display_y / 4
  189.     # 残像データを更新
  190.     @blink[0].data_copy(sprite)
  191.   end
  192. end
  193. #==============================================================================
  194. # ☆ MINTO_Sprite_Battler_02
  195. #------------------------------------------------------------------------------
  196. #   Sprite_Battlerクラスの強化システムモジュールです。
  197. #==============================================================================
  198.  
  199. module MINTO_Sprite_Battler_02
  200.   #--------------------------------------------------------------------------
  201.   # ● 解放
  202.   #--------------------------------------------------------------------------
  203.   def dispose
  204.     # 残像の解放
  205.     dispose_blink
  206.     # 継承先の処理に移行
  207.     super
  208.   end
  209.   #--------------------------------------------------------------------------
  210.   # ● 残像の解放
  211.   #--------------------------------------------------------------------------
  212.   def dispose_blink
  213.     # 残像データが有効な場合
  214.     unless @blink_anime.nil? then
  215.       # 残像を解放
  216.       @blink_anime.dispose
  217.       @blink_anime = nil
  218.     end
  219.   end
  220.   #--------------------------------------------------------------------------
  221.   # ● SEとフラッシュのタイミング処理
  222.   #    timing : タイミングデータ (RPG::Animation::Timing)
  223.   #    hit    : ヒットフラグ
  224.   #--------------------------------------------------------------------------
  225.   def animation_process_timing(timing, hit)
  226.     # SE "残像表示" が設定されている場合
  227.     if timing.se.name == "残像表示" then
  228.       # 残像の解放
  229.       dispose_blink
  230.       # 残像用のデータを定義
  231.       @blink_anime = Blink_Sprite.new(self, timing.flash_duration)
  232.       # 残像を可視状態にする
  233.       @blink_anime.visible = true
  234.       # 残像のカラーを定義
  235.       @blink_anime.color_set(timing.flash_color)
  236.       # メソッドを返す
  237.       return
  238.     # SE "残像解放" が設定されている場合
  239.     elsif timing.se.name == "残像解放" then
  240.       # 残像の解放
  241.       dispose_blink
  242.       # メソッドを返す
  243.       return
  244.     end
  245.     # 継承先の処理に移行
  246.     super(timing, hit)
  247.   end
  248.   #--------------------------------------------------------------------------
  249.   # ● フレーム更新
  250.   #--------------------------------------------------------------------------
  251.   def update
  252.     # 残像データが有効な場合
  253.     unless @blink_anime.nil? then
  254.       # 残像を更新
  255.       @blink_anime.update(self)
  256.     end
  257.     # 継承先の処理に移行
  258.     super
  259.   end
  260. end
  261. #==============================================================================
  262. # ■ Sprite_Character
  263. #------------------------------------------------------------------------------
  264. #  キャラクター表示用のスプライトです。Game_Character クラスのインスタンスを
  265. # 監視し、スプライトの状態を自動的に変化させます。
  266. #==============================================================================
  267.  
  268. class Sprite_Character < RPG::Sprite
  269.   #--------------------------------------------------------------------------
  270.   # ● システムインクルード
  271.   #--------------------------------------------------------------------------
  272.   include MINTO_Sprite_Battler_02         # みんとスプライトバトラー
  273. end
  274.  
  275. end

使用方法是对需要残像效果的事件播放一个动画,动画里添加一个效果是播放se,se的名称是“残像表示”(这个音效文件是否存在无所谓)即可。

点评

额,动画我会弄,主要是事件就这么简单?公共事件还是什么,动画做好容易,还有,大小是多少,不过还是顶一下  发表于 2014-11-21 18:04
本人三无老人,请大神轻拍
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
100 小时
注册时间
2014-10-22
帖子
161
3
 楼主| 发表于 2014-11-21 20:54:36 | 只看该作者
如果需要幻影的是人物怎么办?

开一个坑,废一个坑
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
100 小时
注册时间
2014-10-22
帖子
161
4
 楼主| 发表于 2014-11-21 21:04:31 | 只看该作者
你的脚本不行,不能用,可能是我太笨了吧。。。。。。

6KCN(Z%{0B[W5Z%~B5C~[FN.jpg (44.59 KB, 下载次数: 8)

6KCN(Z%{0B[W5Z%~B5C~[FN.jpg

点评

那是什么,本人脚本渣  发表于 2014-11-24 19:06
在module MINTO里少个初始化: RGSS={}  发表于 2014-11-23 13:02
可能需要前置脚本  发表于 2014-11-22 10:56

开一个坑,废一个坑
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
155
在线时间
332 小时
注册时间
2013-7-6
帖子
356
5
发表于 2014-11-24 19:11:28 | 只看该作者
1745236314 发表于 2014-11-21 21:04
你的脚本不行,不能用,可能是我太笨了吧。。。。。。

就是在48行加上RGSS={}

点评

你指的什么表格,说明白点。。。  发表于 2014-11-30 21:48
我自己在行走图上加了幻影,对不会ps的我简直。。。。。还有ps的表格怎么弄,表示我还没下载ps= =0美图秀秀没有表格,图画也不行我还不会ps...  发表于 2014-11-28 17:20
偶是熬夜学编程的傻子
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
100 小时
注册时间
2014-10-22
帖子
161
6
 楼主| 发表于 2015-9-22 19:13:34 | 只看该作者
于是是否还有更好的点子,这贴不许坟!

评分

参与人数 1星屑 -10 收起 理由
RyanBern -10 不要将坟贴顶起,如果有需求请重开一帖.

查看全部评分


开一个坑,废一个坑
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 17:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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