今日は、
Linderdaum Engineを使用して、Androidでシーンがマルチタッチおよびピンチズームジェスチャーを制御する方法について説明します。

1.準備するLinderdaum Engine SDKはすでにインストールおよび設定されていると想定しています。 postでSDKのセットアップとアプリケーションのコンパイル方法について読むことができます
habrahabr.ru/blogs/gdev/121062さらに必要なのは、マルチタッチをサポートするAndroidデバイスだけです。
2.アプリケーションを作成します最もコンパクトなコードを記述するために、clPinchZoomHandlerクラスという新しい機能を使用します。 マルチタッチおよび他のジェスチャのハンドラを記述する独立した作業のために、クラスclGestureHandlerがあります。 ハードコアが必要な場合は、L_EVENT_MOTIONイベントをインターセプトできます。これにより、画面上の指のすべてのクリックとリリースを受け取ることができます(PCのマウスを含むため、デバッグがより便利になります)。
プロジェクトウィザードを起動し、次を選択します。
- C ++空のプロジェクト。
- プロジェクトの名前を設定します(スペースなし)。
- Project Folderはインストールされたエンジンのサブディレクトリに配置します(そうしないと、Android NDKは機能しません)。
- [次へ]をクリックします。
- 「Android SDKおよびNDK構成を生成する」および「イベント処理コードを追加する:イベント+シーン」をマークします。
- set Resolution:800x480(これはPCで便利にデバッグするために必要です)。
.cppファイルから生成されたすべてをドロップし、そこに次のコードを記述します。
#include "Linderdaum.h" sEnvironment* Env = NULL; clScene* g_Scene = NULL; clPinchZoomHandler* g_PinchZoomHandler = NULL; LMatrix4 Position = LMatrix4::IdentityStatic(); LMatrix4 PositionDelta = LMatrix4::IdentityStatic(); LMatrix4 ZoomDelta = LMatrix4::IdentityStatic(); int g_PlaneID;
Dataフォルダーにbanner.jpgファイルを保存します。 1つ(256x128):

cygwinを実行して、以下を記述します
ndk-build
ant copy-common-media debug
デバイスの.apkファイルを取得します。
3.結果これはデバイス上でどのように見えるかです:

1本の指で画像を移動し、2本の指で拡大縮小できます。
SDK自体には、ピンチズームを操作するもう少し複雑な例があります。