[Andrioid][AndEngine] マルチタップ(マルチタッチ)を検出する

マルチタッチの方法は例の本には書いてないので、 Google先生にいろいろ、聞いてみた。するとmultitouchextensionを入れろ入れろと、いろんなところで書いてあり、Gitから入れてみたものの、インポートの場所がなんか変…。

import org.anddev.andengine.extension.input.touch.exception.MultiTouchException;
import org.anddev.andengine.input.touch.controller.BaseTouchController;

まぁ、サンプルとかは

import org.andengine.engine.camera.Camera;
import org.andengine.engine.options.EngineOptions;

で、org.anddevとかは見当たらない。当然、入れてもビルトエラーでダメ。あれやこれや調べていたら

http://stackoverflow.com/questions/14464055/andengine-multitouch-extension

な・・・なっだってー。普通にGLES2では標準になったらしい。サンプルでしたのように書きくわえて、タップ時に座標をログに吐き出したら たしかにマルチタップできていた。

	public EngineOptions onCreateEngineOptions() {
		final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
		EngineOptions eo = new EngineOptions(true,
				ScreenOrientation.PORTRAIT_FIXED, new RatioResolutionPolicy(
						CAMERA_WIDTH, CAMERA_HEIGHT), camera);
		eo.getAudioOptions().setNeedsSound(true);
		eo.getTouchOptions().setNeedsMultiTouch(true);

        if(MultiTouch.isSupported(this)) {
            if(MultiTouch.isSupportedDistinct(this)) {
                    //Multitouch supported, no problem
            		System.out.println("multitouch YES");
            } else {
                    //Multitouch not working properly (Nexus One, ...)
            		System.out.println("multitouch no");
            }
    } else {
            //No multitouch
		System.out.println("multitouch no");
    }
		
		return eo;
	}

これから、調べ物をするときにはGLES2を入れて調べたほうがいいね。またもやバージョンの壁でというか、 英語理解力不足か・・・。

One thought on “[Andrioid][AndEngine] マルチタップ(マルチタッチ)を検出する

  1. はじめまして!貴方と同じAndengindeでアプリを作っている者です。
    マルチタッチの検出法が例のサンプルに載っておらず長い間苦戦していましたが、
    貴方様がコードを掲載してくださったおかげで何とか実装することができました!ありがとうございます!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください