2010-01-01から1年間の記事一覧
http://sites.google.com/site/mmatsuoka10/application/android/touchstar以前、入門Google Androidプログラミングを参考にして作成したのをゲームらしく整えて公開。これにOpenGLで作るiPhone SDKゲームプログラミングの内容を反映させて改良していこう。
『Webカメラ(USBカメラ)で本のバーコード読み取り』と組み合わせて、手持ちの本のアフィリエイトリンクを大量に作るために作成。 『ISBN to Amazonアフィリエイト』 ISBNから以下のようなhtmlソースを作成。 <div id="IsbnToAmazonBook"> <p></p></div>
例えば、他のWEBサービスから読み込んだデータが文字化けしていた時は <p></p>
早速、Controller内のデータをjspで表示するタグリブの使い方に詰まる。 最近のWEBフレームワークと勘違いしていて、Controllerクラスのプロパティにしていたのをrequestのアトリビュートに設定するようにして解決。 @Override public Navigation run() thro…
独自ドメインは「お名前.com」で取得。GAEで独自ドメインを使う方法は以下を参照。 http://www.stonesystem.biz/domein-gae.htmlいまはDNSが浸透するまで2時間待ち…なう。無事に独自ドメインでアクセスできるようになった!
以下のような例外が投げられるのは、検索処理に必要なMeta Modelが自動作成されていないため。 java.lang.IllegalArgumentException: The meta data of the model(slim3.model.Tweet) is not found. http://d.hatena.ne.jp/hidemon/20100212/1266006576で解…
入門Google Androidプログラミングのシューティングゲームのサンプルを参考にするといい。 2D、3Dに関わらず参考になるはず。
入門Google Androidプログラミングのシューティングゲームのサンプルを動かしてみると、変なGCも発生せずに高速で動く。テクスチャの表示にjavax.microedition.khronos.opengles.GL10ではなく、javax.microedition.khronos.opengles.GL11を使っているせいら…
全ソースEsGameActivityクラス。 RedrawHandlerを使って、一定時間ごとに再描画するように修正。 iPhone版ではゲームオーバー時にリスタートボタンを表示するようになっていましたが、EsGameRenderの内部変化でViewのレイアウトを変化させる方法が見つからな…
新たにTargetクラスを作成し、標的の処理をTargetクラスのメソッドにする。 package sample.game; import static sample.game.utils.GraphicUtils.*; import javax.microedition.khronos.opengles.GL10; import android.content.Context; import android.uti…
タッチイベントの受け取りはActivityのonTouchEventをオーバーライド。EsGameRenderクラスにはタッチイベントの内容を受け取るメソッドを追加。 EsGameActivityクラスの修正部分。 //OpenGLESビュー private GLSurfaceView gLSurfaceView; private EsGameRen…
EsGameRenderクラスにハエの表示と移動の処理を追加。 GCが走ると一瞬、移動が止まる…。LogCatを見るとGCに100msほどかかっている。 package sample.game; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL…
第1章のサンプルは、ほぼそのままAndroidでも動かすことができました。 引き続き、ハエたたきゲームも移植してみます。 EsGameプロジェクトを作成し、EsGameActivityクラスとEsGameRenderクラスを作成。 GraphicUtilsクラスとTextureLoaderクラスを適当なパ…
GraphicUtilsクラスに数字を描画するメソッドを追加。 /** * 指定した数字を、指定した桁数で表示する。 * @param x 表示位置のX座標 * @param y 表示位置のy座標 * @param width 数字の表示サイズ(幅) * @param height 数字の表示サイズ(高さ) * @param num…
512x512の数字画像をWindows7のペイントで作成。 GraphicUtilsクラスにテクスチャマッピングを行うメソッドをリファクタリングして新たなメソッドを追加。 /** * テクスチャマッピングでテクスチャの一部分だけを四角形で描画 */ public static void drawTex…
GLRendererクラスでアルファブレンディングを有効化して、アルファ値を設定する。 gl.glEnable(GL10.GL_BLEND); gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);//アルファブレンディング drawTextureRectangle(gl,context,0.5f,0.7f,1.0f…
GraphicUtilsクラスにdrawTextureRectangleメソッドを追加。 /** * テクスチャを四角形で描画 */ public static void drawTextureRectangle(GL10 gl, Context context, final float x, final float y, final float width, final float height,int textureId,…
表示する画像はAPIデモの中にあるrobot.png。 入門Google Androidプログラミングのサンプルほぼそのまま。 public class GLRenderer implements GLSurfaceView.Renderer { private Context context; private int textureId; public GLRenderer(Context conte…
/** * 円を描画 */ public static void drawCircle(GL10 gl,final float x, final float y, final int divides, final float radius, final int red, final int green, final int blue, final int alpha){ float [] vertices = new float[divides * 3 * 2];/…
package jp.mprog; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL10; import android.opengl.GLSurfaceView; import static jp.mprog.GraphicUtils.drawSquare; import static jp.mprog.GraphicUtils.dr…
GraphicUtilsクラスに次のメソッドを追加。 /** * 長方形を描写 */ public static void drawRectangle(GL10 gl,float x, float y, float width, float height, int red, int green, int blue, int alpha ){ final float [] squares = new float[]{ -0.5f * w…
ユーティリティクラス。 レンダークラスに作成していたメソッドをこのクラスに移動。 package jp.mprog; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; import javax.microedition.khronos.opengles.GL10; public f…
色指定は16進でやらないとダメ。 AndroidのSDKのサンプルにあるcom.example.android.apis.graphics.kube.Kubeクラスを参考。 package jp.mprog; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; import javax.microed…
初期処理はmakeWorldメソッドに。四角形描写部分はdrawSquareメソッドに。 package jp.mprog; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; import javax.microedition.khronos.egl.EGLConfig; import javax.micro…
eclipseでAndroidプロジェクトを作ってActivityを作成。 Activityの中でレンダーを行うGLRendererクラスを使用して描画する。 import android.app.Activity; import android.opengl.GLSurfaceView; import android.os.Bundle; public class GLSurfaceViewTes…
[Android][OpenGL]OpenGLで作るiPhone SDKゲームプログラミングをAndroidで。 OpenGLで作るiPhone SDKゲームプログラミングの演習をAndroidで実装してみる。