查看: 2736|回复: 4

[已经过期] 如何做状态改变敌人战斗图大小或坐标

[复制链接]
梦石
0
星屑
110
在线时间
441 小时
注册时间
2012-6-5
回帖
86
发表于 2017-6-4 09:40:03 | 显示全部楼层 |阅读模式

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

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

×
请问在原版战斗系统里如何做状态改变敌人战斗图大小或坐标,做出伪战场效果,近大远小??

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2017-6-4 16:05:40 | 显示全部楼层
本帖最后由 cinderelmini 于 2017-6-4 17:40 编辑

近大远小的话:【这样的】?

[fold=【代码内容】]
  1. #==============================================================================
  2. # ★ RGSS3_バトラー表示拡張 Ver1.1
  3. #==============================================================================
  4. =begin

  5. 作者:tomoaky
  6. webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)

  7. 戦闘シーンにおいてエネミーのスプライトに以下の効果を適用します。
  8.   ・ランダムに左右反転
  9.   ・Y座標を元に拡大縮小をおこない遠近感を演出
  10.   ・一定間隔で拡大縮小をおこない息遣いを演出

  11. エネミーのメモ欄に <zoom 100> というタグがある場合、
  12. Y座標による拡大率を無視して指定した値(%)の拡大率になります。
  13.   
  14. 行動不可状態のエネミーは息遣いが自動的に一時停止します

  15. 2015.11.16  Ver1.1
  16.   ・エネミーの拡大率をメモ欄で設定する機能を追加

  17. 2012.04.05  Ver1.02
  18.  ・アクターグラフィックに効果を適用しないように修正
  19.     デフォルトの戦闘シーンでは特に意味はありません

  20. 2011.12.20  Ver1.01
  21.   ・解像度に合わせて遠近効果の基準となるY座標を自動計算するように修正

  22. 2011.12.15  Ver1.0
  23.   公開

  24. =end

  25. #==============================================================================
  26. # □ 設定項目
  27. #==============================================================================
  28. module TMBSPREX
  29.   # 左右反転を適用しないトループをIDで指定
  30.   NO_MIRROR_TROOP = [4, 5, 6]
  31.   
  32.   # 左右反転を適用しないエネミーをIDで指定
  33.   NO_MIRROR_ENEMY = [2, 3]
  34.   
  35.   # 遠近効果を適用しないトループをIDで指定
  36.   NO_ZOOM_TROOP = [5, 6]
  37.   
  38.   # 遠近効果を適用しないエネミーをIDで指定
  39.   NO_ZOOM_ENEMY = [6]
  40.   
  41.   # 息遣いを適用しないトループをIDで指定
  42.   NO_BREATH_TROOP = []
  43.   
  44.   # 息遣いを適用しないエネミーをIDで指定
  45.   NO_BREATH_ENEMY = [6]
  46. end

  47. #==============================================================================
  48. # ■ Sprite_Battler
  49. #==============================================================================
  50. class Sprite_Battler < Sprite_Base
  51.   #--------------------------------------------------------------------------
  52.   # ● オブジェクト初期化
  53.   #--------------------------------------------------------------------------
  54.   alias tmbsprex_sprite_battler_initialize initialize
  55.   def initialize(viewport, battler = nil)
  56.     tmbsprex_sprite_battler_initialize(viewport, battler)
  57.     if battler && !battler.actor?
  58.       unless TMBSPREX::NO_MIRROR_TROOP.include?($game_troop.troop.id)
  59.         unless TMBSPREX::NO_MIRROR_ENEMY.include?(battler.enemy.id)
  60.           self.mirror = (rand(3) == 0)      # 1/3の確率で左右反転
  61.         end
  62.       end
  63.       unless TMBSPREX::NO_ZOOM_TROOP.include?($game_troop.troop.id)
  64.         unless TMBSPREX::NO_ZOOM_ENEMY.include?(battler.enemy.id)
  65.           border_y = Graphics.height * 65 / 100
  66.           self.zoom_x = (battler.screen_y - border_y) * 0.005 + 1.0
  67.         end
  68.       end
  69.       unless TMBSPREX::NO_BREATH_TROOP.include?($game_troop.troop.id)
  70.         unless TMBSPREX::NO_BREATH_ENEMY.include?(battler.enemy.id)
  71.           @zoom_max = rand(30) + 150
  72.           @zoom_count = rand(@zoom_max)
  73.         end
  74.       end
  75.       if /<zoom\s*(\d+)>/ =~ battler.enemy.note
  76.         self.zoom_x = 1.0 * $1.to_i / 100
  77.       end
  78.       @use_tmbsprex = true
  79.     end
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● フレーム更新
  83.   #--------------------------------------------------------------------------
  84.   alias tmbsprex_sprite_battler_update update
  85.   def update
  86.     tmbsprex_sprite_battler_update
  87.     if @use_tmbsprex
  88.       self.zoom_y = self.zoom_x
  89.       self.z = 50 + self.y
  90.       if @zoom_max && @battler.movable?
  91.         @zoom_count += 1
  92.         @zoom_count = 0 if @zoom_count == @zoom_max
  93.         f = Math.sin(Math::PI * @zoom_count / (@zoom_max / 2))
  94.         self.zoom_y += f * 0.015 + 0.015
  95.       end
  96.     end
  97.   end
  98. end
复制代码
[/fold]
回复

使用道具 举报

梦石
0
星屑
110
在线时间
441 小时
注册时间
2012-6-5
回帖
86
 楼主| 发表于 2017-6-4 16:53:04 | 显示全部楼层
cinderelmini 发表于 2017-6-4 03:05
近大远小的话:【这样的】?

翻不过墙,能否帮忙转过来?

点评

不用翻墙呀。。虽然慢点,但是可以打开呀…………  发表于 2017-6-4 17:39
回复

使用道具 举报

梦石
0
星屑
110
在线时间
441 小时
注册时间
2012-6-5
回帖
86
 楼主| 发表于 2017-6-4 18:14:22 | 显示全部楼层
cinderelmini 发表于 2017-6-4 03:05
近大远小的话:【这样的】?

[fold=【代码内容】][/fold]

那个,试了一下,我希望是用状态来控制
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部