2012年

5月

30日

04)FireMonkeyを使う

今日、エンバカデロ・デベロッパーキャンプ大阪に行ってきました。

 

FireMonkeyという新しいフレームワークが去年の秋に出ているようです。C++ Builderのブログであれば、本当はこのことを一番はじめに書くべきでした。全く知りませんでした!

 

単発のアニメーションの場合、FireMonkeyのAnimateFloatというメソッドを使うのがいいです。AS3ではeasingのパッケージがこれにあたりますが、AnimateFloatの方が設定は簡単です。03)の投稿で取り上げた画像エフェクト作成の件ですが、たぶん、FireMonkeyを使うことで大部分が解決すると思います。

 

C++Builderの次期バージョンでAndroidデバイス(スマートフォン等)にも対応するようですので、リッチな描画+高速性が要求される場合、今後、C++Builderが大きな選択肢となります。Android/javaでは、描画の部分が不満ですし、Android/as3では、センサ制御が不満、Android/C++Builderが、リッチな描画+高速+センサ制御を3つともクリアしてくれることを楽しみにして待ちましょう。

 

以下、FireMonkeyアプリケーションで、AnimateFloatを試してみました。

//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, float X, float Y){
  int r = Button1->RotationAngle;
  Button1->AnimateFloat("rotationangle", r+=90, 0.3);

 

  int w = Button1->Width;
  Button1->AnimateFloat("width", 50);
  Button1->AnimateFloat("width", w, 1);

 

  Button1->AnimateFloat("Position.X", X, 1);
  Button1->AnimateFloat("Position.Y", Y, 1);
}

 

ところで、VCLアプリケーションの中で、FireMonkeyを使うことはできるのでしょうか?

いずれ、FireMonkeyがVCLの全部を含むことになるのでしょうが、現状はそうではないみたいですので、VCL+FireMonkeyという使い方ができればと。この件の解説をしているサイトあるでしょうか。知っている人、URLを教えてもらえませんか。

コメントをお書きください

コメント: 2
  • #1

    RAN (日曜日, 10 6月 2012 11:32)

    パネルにフォームを埋め込む方法があるみたいですね。
    http://blogs.embarcadero.com/teamj/2011/09/12/2387/

    フォームを呼び出す方法もあるみたいです。
    http://blogs.embarcadero.com/teamj/2011/11/06/2557/

  • #2

    T_T (火曜日, 12 6月 2012 21:58)

    貴重な情報、ありがとうございます!

    今週末に早速確認させていただきます。