RPGツクールXP/VX用のRGSS素材です。
一部英語版対応です。
(A few materials can be used for English RPG MAKER XP/VX.)
競合率はルファーの独断と偏見なのでたまにハズレます。
#==============================================================================
# ■ 水平回転ライブラリ
#------------------------------------------------------------------------------
# y軸を中心に回転できるスプライトの定義です。
# (C) ルファー
# WebSite https://tkoolerlufar.pages.dev/
#==============================================================================
=begin
=対応RGSS
1 2
=RPGツクールXPでの導入方法
Mainより上に新セクションを作成して、このプログラムをそこにコピーする
=他の素材との競合の可能性
... 皆無
=更新履歴
2009/06/24 公開
=新規定義しているクラス
Sprite_HorizontallyTurnable
=end
#----------------------------------------------------------------------------
# ◇ Sprite_HorizontallyTurnable クラス
#----------------------------------------------------------------------------
class Sprite_HorizontallyTurnable < Sprite
#--------------------------------------------------------------------------
# ○ オブジェクト初期化
#--------------------------------------------------------------------------
def initialize(*args)
super(*args)
@_Lufar_zoom_x = 1.0
@_Lufar_mirror = false
@_Lufar_x_angle = 0
end
#--------------------------------------------------------------------------
# ○ 横のズーム倍率の取得
#--------------------------------------------------------------------------
alias :lfr10_org_zx :zoom_x unless method_defined? :lfr10_org_zx
def zoom_x
@_Lufar_zoom_x
end
#--------------------------------------------------------------------------
# ○ 横のズーム倍率の設定
# val : 設定後の、横のズーム倍率
#--------------------------------------------------------------------------
alias :lfr10_org_zx= :zoom_x= unless method_defined? :lfr10_org_zx=
def zoom_x=(val)
@_Lufar_zoom_x = val
_Lufar_refresh_zx_and_mirror
end
#--------------------------------------------------------------------------
# ○ 鏡面フラグの取得
#--------------------------------------------------------------------------
alias :lfr10_org_mirror :mirror unless method_defined? :lfr10_org_mirror
def mirror
@_Lufar_mirror
end
#--------------------------------------------------------------------------
# ○ 鏡面フラグの設定
# flg : 設定後の鏡面フラグ
#--------------------------------------------------------------------------
alias :lfr10_org_mirror= :mirror= unless method_defined? :lfr10_org_mirror=
def mirror=(flg)
@_Lufar_mirror = flg
_Lufar_refresh_zx_and_mirror
end
#--------------------------------------------------------------------------
# ○ 水平回転の角度の取得
#--------------------------------------------------------------------------
def x_angle
@_Lufar_x_angle
end
#--------------------------------------------------------------------------
# ○ 水平回転の角度の設定
# val : 設定後の、水平回転の角度
#--------------------------------------------------------------------------
def x_angle=(val)
@_Lufar_x_angle = val
_Lufar_refresh_zx_and_mirror
end
#--------------------------------------------------------------------------
# ○ 横のズーム倍率と鏡面フラグのリフレッシュ
#--------------------------------------------------------------------------
def _Lufar_refresh_zx_and_mirror
θ = @_Lufar_x_angle
θ += 360 while θ < 0
θ %= 360
self.lfr10_org_mirror = @_Lufar_mirror ^ (θ >= 90 && θ < 270)
if(θ >= 90 && θ < 270) then
self.lfr10_org_zx = Math.cos((180 - θ) * Math::PI / 180.0)
else
self.lfr10_org_zx = Math.cos(θ * Math::PI / 180.0)
end
end
protected :_Lufar_refresh_zx_and_mirror
end
戻る