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

DRAnimateFrame (ネイティブクラス)


このクラスはアニメーションウィンドウフレームを描画するDRを扱うクラスです。

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

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

●継承

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

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

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


●クラスメソッド

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

●クラスメンバメソッド

名前概要
public設定メソッド SetSceneCntウィンドウフレームの構成シーン数を設定します
public設定メソッド SetLayerCntシーンの構成レイヤー数を設定します
public設定メソッド SetSceneFrameシーンの表示フレーム数を設定します
public設定メソッド SetLayerInfoレイヤーの描画内容を設定します

●クラス共有変数

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

●インスタンス変数

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


●C++レベル追加情報

クラスID: FGES_CLASSID_DRANIMATEFRAME
クラス名: FGES_DRAnimateFrame



DRAnimateFrame::SetSceneCnt

public void SetSceneCnt( INativeInteger scenecnt, INativeInteger? loop=NULL, INativeInteger? start_sceneid=NULL)

   このオブジェクトが描画するアニメーションを構成するシーン数を設定します。
   このメソッドを呼び出すと現在設定されている内容は全て削除されます。
   
   構成するシーンが存在しない場合や
   全てのシーンのレイヤー設定が行われていない場合、フレームは正しく描画されません。
   
   シーンは描画する画像の単位で、指定時間ごとに切り替わります。
   最後のシーンまで描画した後は loop の指定によって動作が決定されます。

INativeInteger scenecnt :設定するシーン数
INativeInteger? loop=NULL :アニメーションのループモードを指定します。
識別名動作
0最後のシーンの描画時間が経過すると非表示になります。
DRAnimateBitmap::ROTATION最後のシーンの描画時間が経過すると最初のシーンからループ再生します。(デフォルト)
DRAnimateBitmap::ROUNDTRIP最後のシーンの描画時間が経過すると逆再生し、最初のシーンまで戻るとループします。
INativeInteger? start_sceneid=NULL :再生開始するシーンIDを指定します。
      空参照を指定した場合は0として扱います。

先頭へ


DRAnimateFrame::SetLayerCnt

public void SetLayerCnt( INativeInteger sceneid, INativeInteger layercnt)

   このオブジェクトが描画するウィンドウフレームを構成するシーンの、
   指定したシーン番号のレイヤー数を設定します。
   このメソッドを呼び出すと現在該当シーン番号のレイヤーに設定されている内容は全て削除されます。
   
   構成するレイヤーが存在しない場合や
   全てのレイヤーの設定が行われていない場合、フレームは正しく描画されません。

INativeInteger sceneid :設定するシーン番号
INativeInteger layercnt :設定するレイヤー数

先頭へ


DRAnimateFrame::SetSceneFrame

public void SetSceneFrame( INativeInteger sceneid, INativeInteger frame)

   このオブジェクトが描画するウィンドウフレームを構成するシーンの、
   指定したシーン番号の表示フレーム数を設定します。
   
   シーンが切り替わってからここで設定したフレーム数が経過すると次のシーンに切り替わります。
   
   構成するレイヤーが存在しない場合や
   全てのレイヤーの設定が行われていない場合、フレームは正しく描画されません。

INativeInteger sceneid :設定するシーン番号
INativeInteger frame :設定する表示フレーム数

先頭へ


DRAnimateFrame::SetLayerInfo

public void SetLayerInfo( INativeInteger sceneid, INativeInteger layerid,
             INativeBitmap bitmap, INativeInteger lx, INativeInteger rx,
             INativeInteger ty, INativeInteger by, INativeInteger? drawmode=NULL)


   このオブジェクトが描画するウィンドウフレームを構成するシーンの、
   指定したシーン番号のレイヤーを設定します。
   各レイヤーは指定されたビットマップ画像を9分割し、
   指定された大きさに合わせて変形後、指定した描画方法で描画します。
   レイヤーは0番から順に重ねて処理され、番号が大きい方が上になります。
   
   指定された大きさが9分割できる領域よりも小さい場合描画は失敗します。
   このメソッドは指定されたビットマップオブジェクトに対してビットマップ共有を作成します。

INativeInteger sceneid :設定するシーン番号
INativeInteger layerid :設定するレイヤー番号
INativeBitmap bitmap :描画に使用する画像
INativeInteger lx :9分割の左側垂直分割線のX座標
INativeInteger rx :9分割の右側垂直分割線のX座標
INativeInteger ty :9分割の上側水平分割線のY座標
INativeInteger by :9分割の下側水平分割線のY座標
INativeInteger? drawmode=NULL :レイヤーの描画方法。以下の各グループのOR結合。
四隅以外の処理方法:
識別名内容
DRFrame::RESIZE四隅以外は大きさに合わせて拡大/縮小する(デフォルト)
DRFrame::TILING四隅以外は領域に該当部分の画像を敷き詰める
描画方法:
識別名内容
DRFrame::DEFAULT0番は上書き、1番以降は透過(デフォルト)
DRFrame::COPY上書き
DRFrame::ALPHA透過
DRFrame::LAYER透明部分以外を色のみ上書き
DRFrame::MIXALPHA透過合成
DRFrame::MIXLAYER透明部分以外を合成
DRFrame::COPYA透過度のみを上書き

先頭へ


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

最終更新 2019/09/01