1)eclipes でjarを作成するプロジェクトを作成
2)AndroidManifest.xml の変更
Application タグの上の方
"Define an <application>tag in the AndroidManifest.xml"のチェックをはずす
3)menu ->Export -> JAR file
※jarの中にAndroidManifest.xmlを含まない
4)出来上がったjarfileの使用方法
現在では ターゲットプロジェクトのlibs にコピーする方法しか成功していない
※外部参照は上手くいかない
2013年1月19日土曜日
2013年1月17日木曜日
JNIで使用するC++スタティックライブラリの作成方法 まとめ
1)プロジェクトの作成
2)jni/Android.mk の内容
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#モジュール名
LOCAL_MODULE := MyMath
# ソースファイル
LOCAL_SRC_FILES := Cfloat2D.cpp Cint2D.cpp CmyMath.cpp
include $(BUILD_STATIC_LIBRARY)
3)jni/Application.mk 追加
#ここにもモジュール名を記入
APP_MODULES := MyMath
#これはまた別件
APP_PLATFORM := android-8
4)ライブラリの出力先
\MyMath\obj\local\armeabi
1)プロジェクトの作成
2)jni/Android.mk の内容
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#モジュール名
LOCAL_MODULE := MyMath
# ソースファイル
LOCAL_SRC_FILES := Cfloat2D.cpp Cint2D.cpp CmyMath.cpp
include $(BUILD_STATIC_LIBRARY)
3)jni/Application.mk 追加
#ここにもモジュール名を記入
APP_MODULES := MyMath
#これはまた別件
APP_PLATFORM := android-8
4)ライブラリの出力先
\MyMath\obj\local\armeabi
2011年2月11日金曜日
surfaceView でのフェード処理
画面の遷移としてフェード処理が欲しくて調べてみました。
当初の計画としては surfaceView に AlphaAnimation を組み込みたいと
色々と頑張っていたのです
surfaceView は Viewのsubclass ですから setAnimationメソッド等があります
当然利用出来るだろうと 色々と頑張ってみました
が 無理でした。 (できた方いらしたら教えて下さい)
そこで次善の策として 書き込んでいるcanvasの最後に
透明度を変化させるBMPを書きこむ方法を実装したのですが・・・
ちょっと躓いてしまったので メモします
同じ事でお悩みの方 どうぞ(笑
■駄目だった例
public class GameView extends SurfaceView implements SurfaceHolder.Callback
{
public GameView(Context c)
{
super(c);
getHolder().addCallback(this);
setFocusable(true);
requestFocus();
}
protected Bitmap mBmpMask ;
protected Canvas mCanvasMask;
public void surfaceCreated(SurfaceHolder holder)
{
※必要な初期化処理
mBmpMask = Bitmap.createBitmap( 64, 64,Bitmap.Config.ARGB_4444 );
mCanvasMask = new Canvas( mBmpMask );
}
public void draw()
{
Canvas canvas = getHolder().lockCanvas();
canvas.drawColor(Color.BLACK);
※ここに必要な描画処理
※最後にフェード用のマスクとして事前に準備しているBMPに書きこむ
mCanvasMask.drawARGB( (可変するalpha値), 0, 0, 0);
Rect src = new Rect( 0,0,64,64);
Rect dst = new Rect(0,0, getWidth(),getHeight());
canvas.drawBitmap( mBmpMask, src, dst, null);
getHolder().unlockCanvasAndPost(canvas);
}
}
■上手くいった例
public class GameView extends SurfaceView implements SurfaceHolder.Callback
{
public GameView(Context c)
{
super(c);
getHolder().addCallback(this);
setFocusable(true);
requestFocus();
}
public void surfaceCreated(SurfaceHolder holder)
{
※必要な初期化処理
}
public void draw()
{
Canvas canvas = getHolder().lockCanvas();
canvas.drawColor(Color.BLACK);
※ここに必要な描画処理
※最後にフェード用のマスクをカンバスに直接ペイント
Paint p = new Paint();
p.setAlpha( 可変するalpha値 );
canvas.drawPaint(p);
getHolder().unlockCanvasAndPost(canvas);
}
}
以上です 別に専用のBMPはいらないようですね
当初の計画としては surfaceView に AlphaAnimation を組み込みたいと
色々と頑張っていたのです
surfaceView は Viewのsubclass ですから setAnimationメソッド等があります
当然利用出来るだろうと 色々と頑張ってみました
が 無理でした。 (できた方いらしたら教えて下さい)
そこで次善の策として 書き込んでいるcanvasの最後に
透明度を変化させるBMPを書きこむ方法を実装したのですが・・・
ちょっと躓いてしまったので メモします
同じ事でお悩みの方 どうぞ(笑
■駄目だった例
public class GameView extends SurfaceView implements SurfaceHolder.Callback
{
public GameView(Context c)
{
super(c);
getHolder().addCallback(this);
setFocusable(true);
requestFocus();
}
protected Bitmap mBmpMask ;
protected Canvas mCanvasMask;
public void surfaceCreated(SurfaceHolder holder)
{
※必要な初期化処理
mBmpMask = Bitmap.createBitmap( 64, 64,Bitmap.Config.ARGB_4444 );
mCanvasMask = new Canvas( mBmpMask );
}
public void draw()
{
Canvas canvas = getHolder().lockCanvas();
canvas.drawColor(Color.BLACK);
※ここに必要な描画処理
※最後にフェード用のマスクとして事前に準備しているBMPに書きこむ
mCanvasMask.drawARGB( (可変するalpha値), 0, 0, 0);
Rect src = new Rect( 0,0,64,64);
Rect dst = new Rect(0,0, getWidth(),getHeight());
canvas.drawBitmap( mBmpMask, src, dst, null);
getHolder().unlockCanvasAndPost(canvas);
}
}
■上手くいった例
public class GameView extends SurfaceView implements SurfaceHolder.Callback
{
public GameView(Context c)
{
super(c);
getHolder().addCallback(this);
setFocusable(true);
requestFocus();
}
public void surfaceCreated(SurfaceHolder holder)
{
※必要な初期化処理
}
public void draw()
{
Canvas canvas = getHolder().lockCanvas();
canvas.drawColor(Color.BLACK);
※ここに必要な描画処理
※最後にフェード用のマスクをカンバスに直接ペイント
Paint p = new Paint();
p.setAlpha( 可変するalpha値 );
canvas.drawPaint(p);
getHolder().unlockCanvasAndPost(canvas);
}
}
以上です 別に専用のBMPはいらないようですね
2011年2月8日火曜日
今日からはじめます いつまで続くやら
今日からはじめます いつまで続くやら
アンドロイドマーケットに一本ゲームを登録するまでの記録のつもりなのですが
実際はもう2ヶ月前から研究開発しています
取りあえず 過去の事は置いておいて
今後何かに躓いた時に 忘言録として記憶しますね
アンドロイドマーケットに一本ゲームを登録するまでの記録のつもりなのですが
実際はもう2ヶ月前から研究開発しています
取りあえず 過去の事は置いておいて
今後何かに躓いた時に 忘言録として記憶しますね
登録:
投稿 (Atom)