Headline About TechLog Download Java VBA Link

June 20, 2007.

MEXAとUbuntu


MEXA(メクサ)とはMobile Entertainment Extension APIの略で、MIDP上で携帯アプリを開発するための拡張APIです。早い話がS!アプリ開発APIですね。現在ソフトバンクから開発環境が提供されていて、誰でもダウンロードが可能です。ベースはCLDCとMIDPで、そこに様々なAPIが追加されています。社名が何度も変わったせいで、apiのパッケージとしてcom.jblendやcom.j_phone、com.vodafoneが入り混じっています。いつごろ追加されたAPIかversionとかを見なくてもわかると言う便利設計(笑)。

 

S!アプリ用APIの強みは早期よりスプライト機能を搭載したところです。スプライトというのは、絵を8x8ドットなどの細かい四角に区切ったもので、これを使って容量や速度に有利なコーディングが可能です。内部ではgif画像のように256色のカラーパレットを使い、1 dotを1 byteで表現できるようにする事で64 byteで1スプライトを表現します。0番目は自動的に透過色となります。

このスプライトに対し、回転、反転などを命令し組み合わせることで、レゴのようにキャラクタや背景を描画することが可能です。ハード実装で処理されれば非常に高速。また、パレットだけ差し替えてやることで色違いのキャラを書くことができます。ファミコンのRPGでよく見たのではないでしょうか。

 

スプライトの例としてスライム・スライムベス・メタルスライムをあげましょう。あれ、カラーパレット三つと、スライムを半分書く分のスプライトがあれば、反転とパレット入れ替えで済んでしまうのです。あの作品は1キャラを多分4色で書いてましたから、画像データは1 dotあたり2 bitですね。仮にスライムが16 x 16 dotで描いてあって、スプライトサイズが8x8 dot、256色中の8色を使ったと仮定します。2スプライトは128 dotなので32 byte、256色は1 byteで表せるから4色のパレット x 3匹分で12 byte。合計48 byteでスライム3種類の絵のデータが保存できるわけです。さっき試しに16 x 16のgif画像を1つ作ったところ、800byte程度でした。こんなに差が出るのです。

 

 

....と前置きが長くなりましたがMEXAをdownloadしてまいりました。正確にはMEXAのAPI、Softbank携帯エミュレータを含む開発環境とドキュメント群ですね。早速サンプルプロジェクトを起動してみました。昔より携帯も開発環境も進歩していますね。ただ、エミュレータ画像が本物に似ていないのは相変わらず。昔は画像だけ差し替えたりしていたのですが、どうもexeの中に組み込まれていて変更できない様子。うーん、何だか悔しいぞ。何とかして705SHに差し替えたいのだが。リバースエンジニアリングは違法なので(技術的にbaristaにはできないし)、exlipseからエミュを呼ぶ際に、自作の枠の中に押し込めないかなぁなどと、早くも脱線中なbaristaなのです。

 

ダウンロードはここから

http://developers.softbankmobile.co.jp/dp/tool_dl/java/

 

 

そうそう、昨晩酔った勢いで(笑)Ubuntu試しました。CDブートだけですけど。めちゃ画面が好みです。かなり問題なく動作しました。VAIO Txの1366x768という変則液晶にもなんなく対応。無線LANがあと一歩のところでつながりません。ひょっとしてあれが原因かなぁと思い当たるところは無くはない。CDブートだとパフォーマンスの評価ができないし、保存がねぇ。パーティションを切るツールもあるようなんで、4GBぐらい割り当ててみようかなあ。ただ、今のVAIOはOSのバックアップがCDやDVDではなく、HDD内の退避領域に置いてあるのが怖いんだよなぁ....。

 

ダウンロードはここから

http://www.ubuntulinux.jp/


名前: 意見: パス:

※パスにはこの日記のタイトルをコピペして下さい。

まる:お、Ubuntu試してみましたかwOSのバックアップがHDDだけなのは恐いですね。。。 -2007/06/24 21:15:39

barista:そうなんだよね。前のLetsはCDドライブないから仕方ないと思ったけど。 -2007/06/26 15:47:06


June, 2007
SUN MON TUS WED TUR FRI SAT
12
3456789
10111213141516
17181920212223
24252627282930