« なにげにhirax.netにリンクされててうわああああっ | トップページ | 踏み台登録確認君 »

APIを整理する

 準備が終わって、設計にとりかかる際、まずすべきことは「機能を知ること」である。何ができるのか知らないと、リソース製作担当のチームメンバやクライアントに説明することもできないので、制作に取り掛かる前にある程度は知っておくのも重要だろう。

 BREWの場合、今風にサンプルプログラムを弄りながら学習しようとすると、よくわからないままとりあえず動くというものができてしまって割と危険である。BREWのAPIの規模なら、とりあえず一通りのAPIを頭に入れることは可能だ。

 とはいえ、BREWのAPIリファレンスは体系的に書かれていないので、すげー読みづらい。プログラムリファレンスは、サンプルプログラムが一々付いていて鬱陶しいw なので、大雑把にジャンル分けしてみた。

システム系
 IApplet, [IBase], [IFont], IHeap, ILicense, INotifier, IPeek, IQuery, IShell
 [ISource], ISourceUtil, ILogger, IModule, CALLBACK系, DBGPRINTF
 GETAPPINSTANCE, GETUPTIMES, ZEROAT, GETTIME系

C標準関数系
 ATOI, MALLOC, REALLOC, FREE, GETRAND, MEM系, STR系, WSTR系
 SPRINTF, VSPRINTF, float演算系

描画、サウンド、メディア系
 IBitmap, IDIB, IDisplay, IGraphics, IImage, IMedia, ISound, ISoundPlayer, ISprite
 ITransform, IMediaUtil, CONVERTBMP, SYSFREE, MAKERGB

3D系
 I3D, I3DModel, I3DUtil

ストレージ系
 IAStream, IMemAStream, IUnzipAStream, IFile, IfileMgr

コントロール系
 IImageCtl, IDateCtl, IDialog, IMenuCtl, IStatic, TTextCtl, ITimerCtl

Web系
 IDNS, IHtmlViewer, INetMgr, ISocket, ISSL, IWeb, IWebOpts, IWebResp
 IWebUtil, IX509Chain, HTO系, INET系, UTF8TOWSTR

端末系
 IAddrBook, IAddrRect, IPosDet, IRingerMgr, ITAPI, IVocoder, ICallHistory, ICamera

DB, Hashその他機能系
 ICipher, IClipboard, IDatabase, IDBMgr, IDBRecord, IGetLine, IHash, IHashCTX
 IRamCache, IRSA, IRecordStore, その他のヘルパー関数

Bluetooth系
 IBTAG, IBTSDP, IBTSIOPORT

 ざっとこんな感じである。(多分にゲーム屋感覚的なものである為、ストレージ系などにDBが入っていないとか変なところもあるかもしれないが、それは愛嬌ということでw 使っていないインターフェースもあるので間違っているかもしれない。それは追々直していきます)
 ちなみに、インターフェースとヘルパー関数を中心に分けている。~系というのは、そのプレフィクスで始まる関数のことで、複数存在する。基本的にはC標準関数の名前と一致しているが、独自に拡張された関数が追加されている系統のものもある。あと、カッコつきなのは、実際は利用しない抽象インターフェースである。

 こうやって分けると、作るものに対してどれを重点的に知っておけばいいのかの目安になるはずである。

 まず、システム系とC標準関数系は、一通りチェックしておく。
 次にゲーム屋にとって重要な画像、サウンド、メディア系と、データの読み込みや保存に必要なストレージ系をチェック。スタンドアロンなゲームなら、ここまででOKだろう。

 あとは、対話式HTMLライクなことをしたいなら、コントロール系。Webと情報をやり取りする必要があるなら、Web系。端末側情報を使いたいなら端末系をチェックしよう。

 DBやハッシュ、暗号、構文解析等を使うなら、その他機能系で使えるものがあるかもしれない。

 基本的にBREWのAPIは行き当たりばったりな構造である。特にヘルパー関数はその傾向が顕著だ。なので、Javaのように「用意されたメソッドをやりくりしてプログラムを構築する」感覚で作ると戸惑うだろう。どちらかというと「無いものは一から作れる」プラットフォームであるので、APIが用意されているかどうかを気にせず、バリバリ作ってしまうというのも手である。

|

« なにげにhirax.netにリンクされててうわああああっ | トップページ | 踏み台登録確認君 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19762/3483273

この記事へのトラックバック一覧です: APIを整理する:

« なにげにhirax.netにリンクされててうわああああっ | トップページ | 踏み台登録確認君 »