2009-01-01から1ヶ月間の記事一覧

Androidでゲーム作成(2)

昨日に引き続きAndroidでゲームを作るパターンを紹介します。 ゲームを作成する場合、なんらかのタイミングで画面を再描画していきますが、イベント駆動で再描画するパターンと一定周期で再描画するパターンの2つがあります。先に紹介したパターンはイベン…

Androidでゲーム作成(1)

Androidを使ってゲームでも作りたいな、という事でAPIとか調べならが試してみました。AndroidではSwingは使えないのですが、比較的に似たインターフェイスのAPIが用意されているため、Swingで簡単なゲームを作ったことがあればすぐになれるのではないでしょ…

Methodの修飾子をチェックする

Reflection APIを使ってClassのMethodを取得し、そのメソッドの修飾子をチェックする場合、次のように記述します。 if ((method.getModifiers() & Method.PUBLIC) != 0) { // Publicの場合の処理 } このように書いてはいけません。 if (method.getModifiers(…

VM Ware Fusion

Mac

そろそろ導入しようかと検討中ですが、ポイントを幾つか。 体験版は30日使用可能。 ただし、http://www.act2.comでは配布していないので、https://www.vmware.com/からダウンロード(要登録) ダウンロード版は9,980円、パッケージ版は13,800円(多少は割り…

NetbeansとJRubyをMacで使う

Macと格闘中です。本日の嵌りポイントは、NetbeansでJDKを指定する、JRubyのgemを利用するの2本です。 NetbeansをJava6で起動する Apple Dev CenterからJava6はダウンロードしてインストールできている前提です。 インストール後は、Application/Utility/Ja…

PilikaでのEL式ではRubyの関数が使えます

ちょうどタイムリーなエントリーがありましたので便乗ネタです。PilikaはJavaで実装しているテンプレートエンジンですが、JSPの式言語と同じようにして変数を埋め込むことができます。 <p>${title}</p> ここまではよくあるパターンです。 Expressionで重要なのは、E…

パーサを書き直すことにした件

結局、StAXのパーサが環境によって異なる位置情報を返す問題は、同梱されている実装クラスが異なりどうにもならない、という結論に達しました。少なくともJava6に同梱されている実装(sum実装)ではうまく動かないのでどうにもならないです。なので書き直す…

StAXのパーサの不具合?

PilikaではStAXをXMLのパーサに採用しているわけですが、実装時からどうもおかしな挙動をしていました。 XMLStreamReader#getLocationは「プロセッサの現在の位置」を取得するメソッドなのですが、実際にとれる位置は現在の位置ではなくて次の要素が取得でき…

Mac OS XでMaven2を使う

MacbookにMaven2をインストールしてみました。 Maven2をダウンロードする http://maven.apache.org/ よりMaven2をダウンロードします。圧縮ファイルをダウンロードして適当なディレクトリで展開します。 tar xzvf apache-maven-2.0.9-bin.tar.gz mv ./apache…

StAX - XmlParser

Java6から加わった標準XMLパーサにStAXというパーサーがあります。JavaのXMLパーサーといえば、SAXとDOMが有名ですが、StAXは第3のパーサーでSAX寄りの性質を持ちます。 DOMはXMLをパースした上で構造化した文書モデル(Document Object Model=DOM)へ変換…

RubyのHashからJavaのHashMapに変換する

JRubyを使ってRubyのスクリプトからJavaのメソッドを呼び出す時、引数がjava.util.Map型となっている場合、次のようにしてRubyのHashをJavaのjava.util.HashMapに変換できます。 map = java.util.HashMap.new({'key' => 'value'}) 追記 Hashをそのまま渡して…

Subversionで外部定義したリポジトリを使用する−svn:externals

SCM

SVNを使用してソースコードを管理している時、共通して使用するライブラリなどを複数のプロジェクトで使用したいケースや、プラグインのようにあるプロジェクトの一部を異なるリポジトリに配置したいケースがあります。 このような時、Subversionの外部定義…

gemがupdateできない

Netbeans6.5にバンドルされているJRubyのgemは1.2です。Rails2.2系にするとgemが古いと怒られます(Railsは更新できるのに…) で、updateしろといわれるわけですが、指示通りにやってもUpdateできません・・・。 >gem update --system Updating RubyGems Not…

Railsの初期化処理の順番メモ

初期化プロセスのメモ。 boot.rb environments/development.rb plugins/xx/init.rb initializers/yy.rb というわけで、pluginの初期化よりも先にinitializersが実行される事になってました。pluginを使って何か初期化をするケースを想定してるのでしょうね。

JRubyからJavaのクラスを呼び出す方法

JRubyのパッケージ名に関して嵌っていたと昨日のエントリーで書きましたが、幾つかのトップレベルパッケージとそれ以外のパッケージで使用できる書式が違うという事が原因でした。サンプルなどでは、Swingやjava.lang.Systemなどがほとんどなのでミスリード…

パッケージ名の謎

JRuby(1.1.6)で色々とテストしていますが、不思議な現象に悩まされています。

修正OK

おー、地味に「修正OK」なんて出力されているよ! http://www.deathmarch.jp/hudson/job/pilika/jp.deathmarch.pilika$pilika/7/testReport/jp.deathmarch.pilika/RenderTest_script/ Hudsonかわいいよ、Hudson。

JRubyをJSR223を使って呼び出す−解決編

というわけで解決いたしました。 ・・・原因はこちらです。

Groovyのasmのバージョンが古い件

テンプレートエンジンpilikaの特徴として、スクリプトを必要に応じて好きな言語で記述できる、という事を考えているのですが、いきなり暗礁にのりあげてしまいました。Java6のスクリプト言語サポートは、様々なスクリプト言語を同時に使える可能性を秘めてい…

クラスローダの問題?

最初はMavenの依存ライブラリにGroovyとJRubyを入れてみたが、案の定asmがコンフリクトしました。そこで、ClassLoaderを指定するScriptEngineManagerを使い、スクリプト関連のライブラリはローカルフォルダから個別のクラスローダでロードする形にしました。…

Hudsonで継続的ビルドを行う

Hudsonいいですね。非常に直感的に使い易いインターフェイスで日本語化もされている為、最初に使うCIツールとしては敷居が低いのはポイントです。Maven2の設定がある程度できる人ならば、すぐに使いこなせるのではないでしょうか? というわけで色々設定して…

Hudsonを試してみた

継続的インテグレーション(CI: Continuous Integration)は、プロジェクトのビルドとテスト、更にはそれらのレポートの作成までを全て自動化する事です。CIツールとしては、Continuum が有名ですが、SubversionやMaven2などと組み合わせて使用します。以前…

Mac OS X にJavaの開発環境を設定する

昨年の新型の発売に合わせてMacBookを購入したわけですが、初Macという事もありWindowsのアプリを使うことも多かった事から、ほとんどBoot Campで使っていました。年末年始で時間も取れたのでMacに慣れるべく色々とやろうと思ったものの、色々とはまっていま…