SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

Delphiで始めるスマートフォンアプリ開発

ドラッグ&ドロップのビジュアル操作で簡単モバイルアプリ開発

  • X ポスト
  • このエントリーをはてなブックマークに追加

FireMonkeyで3Dアプリを作る

3Dコンポーネントを使ってみる

 さて、もう少し画面を設計しましょう。

  • ViewPort3D1コンポーネントを選択して、大きさを変更しておきます。
  • ツールパレットからTTrackBarコンポーネントを選択し、フォーム上に置き、適当な大きさに変更します。

 ここまで準備できたら、TImage3Dコンポーネントを配置します。このコンポーネントは、3D空間上に画像を配置します。画像は、3D空間の中で、回転させることができます。

  • 設計画面上でViewPort3D1コンポーネントを選択しておいてから、ツールパレット上で TImage3Dコンポーネントをダブルクリックします。
  • すると、ViewPort3D1コンポーネントの内部にImage3D1が配置されます。構造ペイン上を確認すると、コンポーネントが入れ子になっています(図10)。
図10 - コンポーネントの階層構造

 コンポーネントの階層構造

 もし入れ子になっていない場合は、構造ペイン上で、Image3D1をViewPort3D1にドラッグ&ドロップして入れ子の関係を持たせることができます。

 Image3D1は 設計画面上でも立体的に動かすことができます(図11)。

図11 - TImage3Dを設計画面で動かす

 TImage3Dを設計画面で動かす

 ここでは、図12のように簡単に大きさを変更するだけにします。

図12 - 大きさを変更

 大きさを変更

画像を3D空間で回転させる

 では、プロパティを設定して画像が表示されるようにします。

  • オブジェクトインスペクタ上で、Image3D1のBitmapプロパティの横にある[...]ボタンをクリックし、「編集」を選択します。(図13)
図13 - 「編集」の選択

 「編集」の選択

  • ビットマップエディタが開きますので、[読み込み]ボタンを押し、適当な画像を選択して、[OK]ボタンをクリックします。ここではWindowsに標準でインストールされている画像を選択しています(図14)。
図14 - 画像の選択

 画像の選択

  • 設計画面上のImage3D1に選択した画像が表示されます(図15)。
図15 - 設計画面上に画像を表示

 設計画面上に画像を表示

  • 次に、オブジェクトインスペクタ上で、TrackBar1のMaxプロパティの値を720に変更します。これにより、トラックバーを操作すると、バーの位置により内部的な値が変化します。

 最後にトラックバーを動かしたら、上の画像が回転するというコードを記述します。

  • 設計画面上でTrackBar1をダブルクリックすると、ボタンをクリックした際のイベント(OnChange)が作成されます。作成されたイベント内に、以下のコードを記述します(太字部分)。
procedure TFrom1.TrackBar1Change(Sender: TObject);
begin
    Image3D1.RotationAngle.X := TrackBar1.Value;
end;

 これにより 0から720(2回転)に変化した値が代入され、X軸を中心に回転を行います。

  • IDEのメニューから[ファイル]-[すべて保存]を選択し、xcodeTestというフォルダを作成し、そこにファイルを保存します(ファイル名はデフォルトのままで構いません)。
  • IDEのメニューから[実行]-[実行]を選択し、Windows上で実行させて動作を確認します。(図16)
図16 - Windows上で実行

 Windows上で実行

 トラックバーの位置を操作することで画像が回転します。これで、アプリケーションが完成しました。

次のページ
XcodeへのコンバートとMac上での実行

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

EDN編集部(イーディーエヌ編集部)

エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6466 2012/05/15 18:29

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング