サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
chephes.cocolog-nifty.com
AndroidのOpenGL ESでのマウスピッキングについに成功しました。 前回の物では、マウス座標と3D空間の関連付けを自前の関数でやっていたのですが、 それにバグがあり、視点の位置によってはうまくいかないことがありました。 そこで利用したのがこの関数。 GLU.gluUnProject これがもう便利べんり。あとはあたり判定は実装済みだったので、置き換えて完了。 使い方は大体以下の通り。 int[] bits = new int[16]; float[] model = new float[16]; float[] proj = new float[16]; gl.glGetIntegerv(gl.GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES, bits, 0); for(int i = 0; i < bits.length; i++){ mod
Android側からエミュレーター起動元のマシンのlocalhostに接続したいときは、 127.0.0.1やlocalhostでは接続することができない。これはきっとlocalhostだけでは Androidエミュレーター自体に接続してしまうからだろうと思われる。 そこで、起動元マシン自体に接続する為には、少し面倒だがマシンのプライベートipアドレス を調べて、そこに接続してやらなければならないようだ。 そうすれば、起動元のマシンに接続でき、ローカル環境での開発が可能となる。
Webkitを搭載しているAndroidでは、もちろんjavascriptも動く。 そして、すばらしいことにjavascript側からAndroidのオブジェクトをいじくったり、 関数を起動したりすることも可能という。 実際に使ってみたので、以下のソースを参照のこと。 Android側 public void hoge(){ WebView view = new WebView(this); view.getSettings().setJavaScriptEnabled(true); object = new JsObject(); view.addJavascriptInterface(object, "output"); setContentView(view); view.loadUrl("http://chephes.sakura.ne.jp/AndroidTest/"); } c
とりあえずOpenGLをいろいろいじっているわけですが、 やっとこさ透視投影と陰面消去ができたのでお知らせします。 package net.chephes.graphics; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.IntBuffer; import java.nio.FloatBuffer; import javax.microedition.khronos.opengles.GL10; import android.opengl.GLU; import android.app.Activity; import android.os.Bundle; import android.view.*; import android.graphics.*; import android.conte
アプリを開発する上で書かせないのがコンソール出力ですが、Androidでは いつもどおり System.out.println("hoge");と書いても出力されません。 そこで、Androidではandroid.util.Logクラスを利用して出力します。 eclipse上で結果を見るときはWindow > Show ViewからAndroidを選び、LogCatを表示するように 設定するだけで見れます。 動作イメージは以下
DSiのUserAgentは Opera/9.50 (Nintendo DSi; Opera/446; U; ja) ですね。 ヘッダに を入れて、中身のCanvasを横240、縦176にすると、スクロールのできない 画面ができる模様。 普通にonmousemove, onmouseupなどが利用できる また、javascript:alert(1);などをURLに入れても動く。 若干Canvasの挙動が怪しく、drawImageでただしく描画されない。... なんとなくMac OS Xの開発環境であるObjective-c Cocoaで開発してみる気になったので、簡単なアプリを作成。 環境の構築は、付属のDVDに入っていたXcodeをインストールするだけでOK。 開発の主な流れとしてはInterfaceBuilderでUIを作って、それに対してコーディングを行う。 キャンバスのような物にご
OpenGL ES系のネタ。せっかくテクスチャも張れるということなので、 ためしに張ってみました。画像読み込み関連はいつものごとくSchlechte Weltさんを参考にしました。 以下サンプルソース package net.chephes.graphics; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.IntBuffer; import java.nio.FloatBuffer; import javax.microedition.khronos.opengles.GL10; import android.app.Activity; import android.os.Bundle; import android.view.*; import android.graphics.*; impo
Schlechte WeltさんのGridViewで爆弾探すで、 多分日本で初めてのAndroidでできたゲームが完成した模様。 これを見たとき「マインスイーパ作れるじゃん!」と思いついた。 というわけで作ってみたがなかなか難しい。 現状は次の画像のとおり。いろいろおかしな部分はあるが一応動くには動く。 残念ながらソースの公開は無いそうだが、彼はGridViewと呼ばれるViewクラスのサブクラスを 使ってマインスイーパーを作ったそうだ。GridViewクラスは高レベルの画像表示用のクラスで、 大体イメージとしては画像をタイルのように並べることができるといった感じである。 これからもAndroid製のアプリを見つけたら逐次報告していきます。
AndroidではOpenGLを使って3Dを描画できるらしいので、早速使ってみた 以下はただ四角いポリゴンを書くだけの簡単なサンプルです。 OpenGLに関してはwisdomsoftのOpenGL入門を参考にしました。 package net.chephes.graphics; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.IntBuffer; import javax.microedition.khronos.opengles.GL10; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.graphics.*; import android.conten
Androidのwebkitを使ってwebページサムネイル画像を作ってみる。 ポイントは、WebViewをaddContentViewして表示している状態にすること。 でもそれだとサムネイルの意味が無いので、 addContentView(view, new ViewGroup.LayoutParams(1, 1)); みたいに最後にちょろっと入れる感じで問題ない。 import android.webkit.WebView; import android.content.Context; import android.graphics.Bitmap; public class ThumbCreator { public WebView web; public ThumbCreator(Context context){ web = new WebView(context); } publ
Androidは基本的にタッチパネルも使える模様。しかも、使い方は一般的な マウスイベントの取り方とあんまり変わらないので超便利。 package net.chephes.androidtest; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import java.net.*; import java.io.*; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics
AndroidでネットからHTTPリクエストを使って画像を取得し、それをキャンバスに描くサンプル。 比較的すんなりできた。今のところはやり方がわからないので、サイズを自分で指定している。 11/14追記 nesukeさんがサイズの取得法を教えてくれました。コメント欄を参照package net.chephes; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.app.Activity; import android.content.Context; import android.graphics.*; import android.graphics.drawable.Drawable; import android.os.Bundle; im
Androidのライブラリにはwebkitを使った物があるそうなので、試しに使ってみる。 package com.chephes; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class WebViewer extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); WebView view = new WebView(this); view.loadUrl("http://www.google.co.jp"); setConten
Android系ネタ Android上でHTTP通信をすることに成功しました。 やり方はjavaでHTTP通信をするのとほぼ同じ方式。 百聞は一見にしかずということで、以下ソース package net.chephes.androidtest; import android.app.Activity; import android.widget.TextView; import android.os.Bundle; import java.net.*; import java.io.*; public class AndroidTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCre
GoogleのAndroidプラットフォーム SDK公開 これを聞いたからには、とりあえずインストールしてみる。 まずここからダウンロード 同梱されていたドキュメントによると、とりあえず適当な箇所に配置して、toolsにパスを通す らしい 導入にはeclipseが必須みたいなので、持ってない方はこちらからインストールしておく。 eclipseを起動し、Help > Software Updates > Find and Install...を選ぶと、ダイアログが出てくるので そこではSearch for new features to install (新しいのをインストール)を選択し次へ。 New Remote Site(新しいサイト)を選び、出てくるダイアログにはNameは適当に入力、 URLにはhttps://dl-ssl.google.com/android/eclipse/と入力
最近大人の科学でテルミンを買ってみたら、マトリョミンとかっていう マトリョーシカにテルミンを内蔵したマトリョミンっていうのが載ってた。 Gizmodo Japan テルミン+マトリョーシカ=マトリョミン(動画) それに触発されて Webカメラを利用してテルミンっぽい感じに動くActionScriptを作ってみた。 このフラッシュは赤い物に反応するので、片手に赤い物を携えて演奏してください。 重いのでリンクに張り替え 特定の周波数成分の音を出す為に Onegameさんのページと、その先のhow to make actionscript 3 play generated pcm wave dataのライブラリ を参考にした。 ソースは以下に記述 Theremin.as ThereminProvider.as
サムネイル作成APIとFlex2とjavascriptの連携を利用して、 はてぶを読み込んでそのサムネイルをばらまく Flashを作ってみた。 サムネイルをドラッグすると場所を移動できて、 ダブルクリックでそのページを開く仕様。 サムネイルができてません的なメッセージがでたら リロードしてください。 上の画像をクリックしてページへ飛びます 要望等ご意見ありましたらコメント欄にどうぞ
このページを最初にブックマークしてみませんか?
『cheprogramming』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く