マルチタッチの方法は例の本には書いてないので、 Google先生にいろいろ、聞いてみた。するとmultitouchextensionを入れろ入れろと、いろんなところで書いてあり、Gitから入れてみたものの、インポートの場所がなんか変…。
1 2 3 4 |
[java] import org.anddev.andengine.extension.input.touch.exception.MultiTouchException; import org.anddev.andengine.input.touch.controller.BaseTouchController; [/java] |
まぁ、サンプルとかは
1 2 3 4 |
[java] import org.andengine.engine.camera.Camera; import org.andengine.engine.options.EngineOptions; [/java] |
で、org.anddevとかは見当たらない。当然、入れてもビルトエラーでダメ。あれやこれや調べていたら
http://stackoverflow.com/questions/14464055/andengine-multitouch-extension
な・・・なっだってー。普通にGLES2では標準になったらしい。サンプルでしたのように書きくわえて、タップ時に座標をログに吐き出したら たしかにマルチタップできていた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
[java highlight="7,9"] 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; } [/java] |
これから、調べ物をするときにはGLES2を入れて調べたほうがいいね。またもやバージョンの壁でというか、 英語理解力不足か・・・。