[前へ] [目次へ] [次へ]

DREffect (ネイティブクラス)


このクラスは複数のDRをひとつのDRとして扱うクラスです。
このクラスへ描画要求が行われると、座標のみを接続しているDRに転送します。
そのため、このクラスでは描画範囲を制限することができません。

このクラスは DRSet クラスにSEの再生機能を追加したもので、
エフェクトを再生するために使用することを想定しています。

DR系クラスは描画に必要な情報を保持するクラスで、
INativeDrawResource での描画に対応したクラスを介して描画されます。
このクラスのインスタンスが消滅した時、
そのインスタンスへのリンクは強制的に解除されます。
描画に使用しているDRインスタンスを消滅させないようにしてください。

一番簡単にDRを画面に表示するには DRWindow クラスを使用します。

●継承

   このクラスは継承をしていません。

●インターフェイスとインターフェイスメソッド

   implements INativeDrawResource
          (C++レベルキャスト)IFGESDrawResource


●クラスメソッド

   このクラスはクラスメソッドを持っていません。

●クラスメンバメソッド

名前概要
public設定メソッド SetDRCount接続するDRの数を設定します
public設定メソッド SetDRInfoString指定したDRスロットにDRを接続します
public設定メソッド SetDRInfo指定したDRスロットにDRを接続します
public設定メソッド SetDRInfoAbs指定したDRスロットにDRを接続します
public設定メソッド SetSpeed再生速度を設定します
public取得メソッドconst GetSpeed再生速度を取得します
public取得メソッドconst GetDrawRect指定したフレームの出力領域を取得します
public操作メソッド ResetSEInfo設定されているSEの再生情報を全て解除します
public操作メソッド AddSEInfoSEの再生情報を追加します
public設定メソッド SetSEEnable再生中にSEを再生するかを設定します
public取得メソッドconst GetSEEnable再生中にSEを再生するかを取得します
public操作メソッドconst SpecifySEPlay指定したフレームに設定されているSEを再生します
public操作メソッドconst SpecifySECancel指定したフレームに設定されているSEの再生待機を解除します
public操作メソッド ResetFrameMethodInfo再生位置コールバックを全て解除します
public設定メソッド AddFrameMethodInfo再生位置コールバックを設定します
public設定メソッド AddFrameMethodInfoC再生位置コールバックを設定します

●クラス共有変数

   このクラスはクラス共有変数を持っていません。

●インスタンス変数

   このクラスはインスタンス変数を持っていません。


●C++レベル追加情報

クラスID: FGES_CLASSID_DREFFECT
クラス名: FGES_DREffect



DREffect::SetDRCount

public void SetDRCount( INativeInteger drcnt, INativeBool? loop=NULL)

   このオブジェクトが描画するアニメーションを構成するDRの数を設定します。
   このメソッドを呼び出すと現在設定されている内容は全て削除されます。
   
   loop が真の場合、全てのDRの描画が完了すると最初からループ再生します。
   loop が偽の場合、全てのDRの描画が完了すると非表示になります。

INativeInteger drcnt :設定するDR数。この数だけDRスロットが準備されます。
INativeBool? loop=NULL :アニメーションをループ再生するかを指定します。
         空参照を指定した場合、真として扱います。

先頭へ


DREffect::SetDRInfoString

public Bool SetDRInfoString( INativeInteger drid, INativeDrawResource dr, INativeString info)

   このオブジェクトが描画するアニメーションを構成するDRとその描画条件を設定します。
   このメソッドを呼び出すとこのオブジェクトで再生中のアニメーションは最初に戻ります。
   
   このメソッドで設定した描画条件がこれまでに設定されているフレーム数より長い場合、
   このオブジェクト全体のアニメーション長が更新されます。
   このオブジェクト全体のアニメーション長は長くなることはあっても短くはならないので、
   異なるアニメーションデータを上書きする場合は SetDRCount で必ずリセットしてください。
   
   描画条件のリスト文字列は * 区切り、23個のリストで、以下の順で指定します。
番号名前意味
0startこのDRを描画開始するフレーム番号(0起算)
1endこのDRを描画終了するフレーム番号(0起算、指定したフレームは描画しない)
2start_xこのDRを描画する最初の起点X座標(ピクセル単位)
3start_yこのDRを描画する最初の起点Y座標(ピクセル単位)
4start_widthこのDRを描画する最初の横幅(ピクセル単位)
5start_heightこのDRを描画する最初の縦幅(ピクセル単位)
6diff_x描画終了までの移動X距離(ピクセル単位)
7diff_y描画終了までの移動Y距離(ピクセル単位)
8diff_width描画終了までの描画横幅変更量(ピクセル単位)
9diff_height描画終了までの描画縦幅変更量(ピクセル単位)
10start_origin_xこのDRを描画する最初の描画領域内の原点X(小数、比率)
11start_origin_yこのDRを描画する最初の描画領域内の原点Y(小数、比率)
12diff_origin_x描画終了までの原点X変更量(小数、比率)
13diff_origin_y描画終了までの原点Y変更量(小数、比率)
14start_distこのDRを描画する最初の極座標距離(小数)
15start_angleこのDRを描画する最初の極座標角度(小数、度単位)
16diff_dist描画終了までの極座標距離変更量(小数)
17diff_angle描画終了までの極座標角度変更量(小数、度単位)
18easing_pos座標の推移に適用するイージングの種類
19easing_size大きさの推移に適用するイージングの種類
20easing_origin原点の推移に適用するイージングの種類
21easing_dist極座標距離の推移に適用するイージングの種類
22easing_angle極座標角度の推移に適用するイージングの種類

INativeInteger drid :設定するDRスロットのID。0起算。
INativeDrawResource dr :接続するドローリソースオブジェクト。
INativeString info :描画条件のリスト文字列。

先頭へ


DREffect::SetDRInfo

public Bool SetDRInfo( INativeInteger drid, INativeDrawResource dr,
             INativeInteger start, INativeInteger end,
             INativeInteger start_x, INativeInteger start_y,
             INativeInteger start_width, INativeInteger start_height,
             INativeInteger? diff_x=NULL, INativeInteger? diff_y=NULL,
             INativeInteger? diff_width=NULL, INativeInteger? diff_height=NULL,
             INativeFloat? start_origin_x=NULL, INativeFloat? start_origin_y=NULL,
             INativeFloat? diff_origin_x=NULL, INativeFloat? diff_origin_y=NULL,
             INativeFloat? start_dist=NULL, INativeFloat? start_angle=NULL,
             INativeFloat? diff_dist=NULL, INativeFloat? diff_angle=NULL,
             INativeInteger? easing_pos=NULL, INativeInteger? easing_size=NULL, INativeInteger? easing_origin=NULL,
             INativeInteger? easing_dist=NULL, INativeInteger? easing_angle=NULL)


   このオブジェクトが描画するアニメーションを構成するDRとその描画条件を設定します。
   このメソッドを呼び出すとこのオブジェクトで再生中のアニメーションは最初に戻ります。
   
   このメソッドで設定した描画条件がこれまでに設定されているフレーム数より長い場合、
   このオブジェクト全体のアニメーション長が更新されます。
   このオブジェクト全体のアニメーション長は長くなることはあっても短くはならないので、
   異なるアニメーションデータを上書きする場合は SetDRCount で必ずリセットしてください。
   
INativeInteger drid :設定するDRスロットのID。0起算。
INativeDrawResource dr :接続するドローリソースオブジェクト。
INativeInteger start :このDRを描画開始するフレーム番号(0起算)
INativeInteger end :このDRを描画終了するフレーム番号(0起算、指定したフレームは描画しない)
INativeInteger start_x :このDRを描画する最初の起点X座標(ピクセル単位)
INativeInteger start_y :このDRを描画する最初の起点Y座標(ピクセル単位)
INativeInteger start_width :このDRを描画する最初の横幅(ピクセル単位)
INativeInteger start_height :このDRを描画する最初の縦幅(ピクセル単位)
INativeInteger? diff_x=NULL :描画終了までの移動X距離(ピクセル単位)
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? diff_y=NULL :描画終了までの移動Y距離(ピクセル単位)
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? diff_width=NULL :描画終了までの描画横幅変更量(ピクセル単位)
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? diff_height=NULL :描画終了までの描画縦幅変更量(ピクセル単位)
         空参照を指定した場合は0を指定したものとして扱います。
INativeFloat? start_origin_x=NULL :このDRを描画する最初の描画領域内の原点X(小数、比率)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? start_origin_y=NULL :このDRを描画する最初の描画領域内の原点Y(小数、比率)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? diff_origin_x=NULL :描画終了までの原点X変更量(小数、比率)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? diff_origin_y=NULL :描画終了までの原点Y変更量(小数、比率)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? start_dist=NULL :このDRを描画する最初の極座標距離(小数)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? start_angle=NULL :このDRを描画する最初の極座標角度(小数、度単位)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? diff_dist=NULL :描画終了までの極座標距離変更量(小数)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? diff_angle=NULL :描画終了までの極座標角度変更量(小数、度単位)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeInteger? easing_pos=NULL :推移時の座標イージング処理を指定します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。
INativeInteger? easing_size=NULL :推移時の大きさイージング処理を指定します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。
INativeInteger? easing_origin=NULL :推移時の原点イージング処理を指定します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。
INativeInteger? easing_dist=NULL :推移時の極座標距離イージング処理を指定します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。
INativeInteger? easing_angle=NULL :推移時の極座標角度イージング処理を指定します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。

先頭へ


DREffect::SetDRInfoAbs

public Bool SetDRInfoAbs( INativeInteger drid, INativeDrawResource dr,
             INativeInteger start, INativeInteger end,
             INativeInteger start_x, INativeInteger start_y,
             INativeInteger start_width, INativeInteger start_height,
             INativeInteger? end_x=NULL, INativeInteger? end_y=NULL,
             INativeInteger? end_width=NULL, INativeInteger? end_height=NULL,
             INativeFloat? start_origin_x=NULL, INativeFloat? start_origin_y=NULL,
             INativeFloat? end_origin_x=NULL, INativeFloat? end_origin_y=NULL,
             INativeFloat? start_dist=NULL, INativeFloat? start_angle=NULL,
             INativeFloat? end_dist=NULL, INativeFloat? end_angle=NULL,
             INativeInteger? easing_pos=NULL, INativeInteger? easing_size=NULL, INativeInteger? easing_origin=NULL,
             INativeInteger? easing_dist=NULL, INativeInteger? easing_angle=NULL)


   このオブジェクトが描画するアニメーションを構成するDRとその描画条件を設定します。
   このメソッドを呼び出すとこのオブジェクトで再生中のアニメーションは最初に戻ります。
   
   このメソッドで設定した描画条件がこれまでに設定されているフレーム数より長い場合、
   このオブジェクト全体のアニメーション長が更新されます。
   このオブジェクト全体のアニメーション長は長くなることはあっても短くはならないので、
   異なるアニメーションデータを上書きする場合は SetDRCount で必ずリセットしてください。
   
INativeInteger drid :設定するDRスロットのID。0起算。
INativeDrawResource dr :接続するドローリソースオブジェクト。
INativeInteger start :このDRを描画開始するフレーム番号(0起算)
INativeInteger end :このDRを描画終了するフレーム番号(0起算、指定したフレームは描画しない)
INativeInteger start_x :このDRを描画する最初の起点X座標(ピクセル単位)
INativeInteger start_y :このDRを描画する最初の起点Y座標(ピクセル単位)
INativeInteger start_width :このDRを描画する最初の横幅(ピクセル単位)
INativeInteger start_height :このDRを描画する最初の縦幅(ピクセル単位)
INativeInteger? end_x=NULL :このDRを描画する最後の起点X座標(ピクセル単位)
      空参照を指定した場合は start_x と同じとして扱います。
INativeInteger? end_y=NULL :このDRを描画する最後の起点Y座標(ピクセル単位)
      空参照を指定した場合は start_y と同じとして扱います。
INativeInteger? end_width=NULL :このDRを描画する最後の横幅(ピクセル単位)
      空参照を指定した場合は start_width と同じとして扱います。
INativeInteger? end_height=NULL :このDRを描画する最後の縦幅(ピクセル単位)
      空参照を指定した場合は start_height と同じとして扱います。
INativeFloat? start_origin_x=NULL :このDRを描画する最初の描画領域内の原点X(小数、比率)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? start_origin_y=NULL :このDRを描画する最初の描画領域内の原点Y(小数、比率)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? end_origin_x=NULL :このDRを描画する最後の描画領域内の原点X(小数、比率)
      空参照を指定した場合は start_origin_x と同じとして扱います。
INativeFloat? end_origin_y=NULL :このDRを描画する最後の描画領域内の原点Y(小数、比率)
      空参照を指定した場合は start_origin_y と同じとして扱います。
INativeFloat? start_dist=NULL :このDRを描画する最初の極座標距離(小数)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? start_angle=NULL :このDRを描画する最初の極座標角度(小数、度単位)
         空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat? end_dist=NULL :このDRを描画する最後の極座標距離(小数)
      空参照を指定した場合は start_dist と同じとして扱います。
INativeFloat? end_angle=NULL :このDRを描画する最後の極座標角度(小数、度単位)
      空参照を指定した場合は start_angle と同じとして扱います。
INativeInteger? easing_pos=NULL :推移時の座標イージング処理を指定します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。
INativeInteger? easing_size=NULL :推移時の大きさイージング処理を指定します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。
INativeInteger? easing_origin=NULL :推移時の原点イージング処理を指定します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。
INativeInteger? easing_dist=NULL :推移時の極座標距離イージング処理を指定します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。
INativeInteger? easing_angle=NULL :推移時の極座標角度イージング処理を指定します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。

先頭へ


DREffect::SetSpeed

public Bool SetSpeed( INativeInteger speed)

   このオブジェクトが描画するアニメーションを再生する速度を設定します。
   このメソッドで設定できるのは整数倍の速度のみで、30倍速まで設定できます。
   
INativeInteger speed :設定する速度。単位は倍速です。

先頭へ


DREffect::GetSpeed

public Integer GetSpeed()const

   このオブジェクトが描画するアニメーションを再生する速度を取得します。
   
戻り値:現在の再生速度。単位は倍速です。

先頭へ


DREffect::GetDrawRect

public Bool GetDrawRect( INativeInteger? frameid,
             editable INativeInteger? x,editable INativeInteger? y,
             editable INativeInteger? width,editable INativeInteger? height)const


   現在の設定で指定したフレーム番号の時、出力される範囲を取得します。
   このメソッドで取得される範囲は各DRの応答をまとめたものです。
   DRによっては正確な範囲が返されない可能性があります。

戻り値:取得に成功すると真を返します。
   
INativeInteger? frameid :取得するフレーム番号。
      空参照を指定した場合、全フレームの出力範囲をまとめます。
editable INativeInteger? x :[出力]出力領域の左上X座標を出力するオブジェクト。
      空参照を指定した場合、無視します。
editable INativeInteger? y :[出力]出力領域の左上Y座標を出力するオブジェクト。
      空参照を指定した場合、無視します。
editable INativeInteger? width :[出力]出力領域の横幅を出力するオブジェクト。
      空参照を指定した場合、無視します。
editable INativeInteger? height :[出力]出力領域の縦幅を出力するオブジェクト。
      空参照を指定した場合、無視します。

先頭へ


DREffect::ResetSEInfo

public Bool ResetSEInfo()

   このオブジェクトの再生中に鳴らす効果音の設定を全て解除します。
   
戻り値:処理に成功すると真を返します。

先頭へ


DREffect::AddSEInfo

public Bool AddSEInfo( INativeInteger frameid, INativeString fname,
             INativeFloat? volume=NULL, INativeFloat? speed=NULL,
             INativeInteger? pan=NULL)


   このオブジェクトの再生中に鳴らす効果音を追加します。
   設定するフレームにアニメーションがない場合、効果音は再生されません。
   
戻り値:処理に成功すると真を返します。

INativeInteger frameid :効果音を再生するフレームID。
INativeString fname :再生する効果音ファイル名。
INativeFloat? volume=NULL :効果音の再生音量を%単位で指定します。
         空参照を指定すると100.0(100%)として扱います。
INativeFloat? speed=NULL :効果音の再生速度を%単位で指定します。
         空参照を指定すると100.0(100%)として扱います。
INativeInteger? pan=NULL :効果音のパンを-64〜64で指定します。
         空参照を指定すると0(中央)として扱います。

先頭へ


DREffect::SetSEEnable

public Bool SetSEEnable( INativeBool new_mode)

   このオブジェクトの再生中に実際に効果音を再生するかを設定します。
   この設定はデフォルトでは真に設定されています。
   
INativeBool new_mode :新しい設定値。
         真を指定すると再生有効、偽を指定すると再生無効になります。

先頭へ


DREffect::GetSEEnable

public Bool GetSEEnable()const

   このオブジェクトの再生中に実際に効果音を再生するかを取得します。
   この設定はデフォルトでは真に設定されています。
   
戻り値:このオブジェクトの再生中に実際に効果音を再生する場合は真を返します。

先頭へ


DREffect::SpecifySEPlay

public Integer SpecifySEPlay( INativeInteger frameid)const

   このオブジェクトの指定したフレームIDに設定されている効果音を直ちに再生します。

戻り値:この呼び出しで再生指示された効果音の数を返します。

INativeInteger frameid :再生するフレームID。

先頭へ


DREffect::SpecifySECancel

public Integer SpecifySECancel( INativeInteger? frameid=NULL)const

   このオブジェクトの指定したフレームIDに設定されている効果音の再生待機を解除します。

戻り値:この呼び出しで再生待機の解除対象になった項目の数を返します。

INativeInteger? frameid=NULL :再生待機を解除するフレームID。
         空参照を指定した場合は全フレームの再生待機を解除します。

先頭へ


DREffect::ResetFrameMethodInfo

public Bool ResetFrameMethodInfo()

   このオブジェクトに設定されている再生位置コールバックを全て解除します。

戻り値:処理に成功すると真を返します。

先頭へ


DREffect::AddFrameMethodInfo

public Bool AddFrameMethodInfo( INativeInteger? frameid,
             HThread call_thread,editable Any? thisobj, INativeClosure methodobj)


   このオブジェクトの指定したフレームIDに再生位置コールバックを設定します。
   再生位置コールバックは再生位置が設定位置を通過する時に呼び出されます。

戻り値:設定に成功すると真を返します。

INativeInteger? frameid :コールバックを設定するフレームID。
         空参照を指定した場合は再生完了時に設定されます。
HThread call_thread :コールバックを呼び出すスレッド。
editable Any? thisobj :コールバックのホストオブジェクト。
INativeClosure methodobj :コールバックするメソッド。

先頭へ


DREffect::AddFrameMethodInfoC

public Bool AddFrameMethodInfoC( INativeInteger? frameid,
             HThread call_thread, Any? thisobj, INativeClosure methodobj)


   このオブジェクトの指定したフレームIDに再生位置コールバックを設定します。
   再生位置コールバックは再生位置が設定位置を通過する時に呼び出されます。

戻り値:設定に成功すると真を返します。

INativeInteger? frameid :コールバックを設定するフレームID。
         空参照を指定した場合は再生完了時に設定されます。
HThread call_thread :コールバックを呼び出すスレッド。
Any? thisobj :コールバックのホストオブジェクト。
INativeClosure methodobj :コールバックするメソッド。

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2020/10/28