投稿

ラベル(Android)が付いた投稿を表示しています

Cocos2d-x 3.4でandroid向けにビルドする

プロジェクトすでに作られている前提で。 eclipseを開く File>import Existing android code into workspaceで、 プロジェクトファイル/cocos2d/cocos/platform/android/javaを指定してimportする。 import したlibcocos2dxのsrc/org.cocos2dx.lib/Cocos2dxWebViewの中の import android.annotation.SuppressLint;でエラーが出てたら、 libcocos2dxのプロパティ>androidで、APIレベルが16以上のTarget Nameを選択してOKするとエラーが消える。 もう一度、File>import>Existing android code into workspaceで プロジェクトファイル/proj.androidを指定してimportする。 こっちもAppActivity.javaでエラーが出るなら プロパティでAPIレベルが16以上のTargetを指定する。 それでもダメなら、プロパティ>android>libralyのところが赤い×になっていないか確認 なっていたら、一旦RemoveしてからAddして、先ほどのlibcocos2dxを選択する。 RunAs>android application ver3.1の時よりも簡単になった気がする。

Androidのapkをアップデートする時の注意

一度ストアに登録したアプリの新バージョンをアップロードするときに以下の部分を修正しないとエラーが出ます。 AndroidManifestに android:versionCode android:versionName という項目があって、 versionCodeには整数でかつ以前の数字よりも大きい物を versionNameは単にバージョン名なので自由につけていいそうです。 versionNameは数字じゃなくても良いので、個人の開発ではいろいろ面白い名前を付けられそうです。

GestureListnerをDrawViewで動かすための最低限のコード

package com.example.left_and_right; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.os.Bundle; import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; import android.view.MotionEvent; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout. activity_main ); DrawView view = new DrawView(getApplication()); setContentView(view); } } class DrawView extends View implements OnGestureListener{ GestureDetector gestureDetector ; public DrawView(Context context) { super (context); gestureDetector = new GestureDetector(getContext(), this ); } public void onDraw(Canvas canvas){ } @Override public boolean onTouchEvent(MotionEvent event){ gesture...

GestureDetectorのonLongPressがタッチしただけで反応する

LongPressが少しタッチしただけでonLongPressに引っかかってしまいます。 StacOverFlowにはGestureDetectorを使わない別の解決策が出ているのですが、 http://stackoverflow.com/questions/11701826/long-press-android http://d.hatena.ne.jp/nosix/20120309/1331303770 onDown を実装して true を返すとの事でした。 http://mrbool.com/how-to-work-with-swipe-gestures-in-android/28088 ここによると2000ms押し続けるとLongPressが呼ばれるようです。 結局わからず。 今回は使わないのでいいのですが… ついでに見つけた情報 gestureDetector .setIsLongpressEnabled( false ); とするとLongPressを無効にできる。 http://developer.android.com/reference/android/view/GestureDetector.html#setIsLongpressEnabled(boolean)

GestureDetectorでDeprecatedと警告が出る件

http://stackoverflow.com/questions/12873708/gesturedetector-deprecated-issue StacOverFlowにありました。 gestureDetector = new GestureDetector( this ); だと警告が出るのを、第一引数にContextを指定するといいとの事です。 そこで、 gestureDetector = new GestureDetector(getContext(), this ); とすると警告が出なくなりました。