2008年10月16日

まだhelloとはいえていないSDL

libSDLの日本語解説
初心者の初心者による初心者の為のSDL
あたりを参考になんとか自力でゼロからSDLのWindowを作りタイトルバーにテキストを設定しescキーで閉じた。

ほとんどWin32APIのメッセージループみたいな形で美しくない。
スレッドはpthreadかなんか使えるようになればいいわけだし
glutのほうが右クリックメニューとか扱えるし若干エレガントなコードが書けるので
いきなり投げ出してしまおうかとも思ったが
とりあえずSDL_imageとSDL_net、SDL_ttfあたりがあることを思うと
元々低レベルコードを書きたがる自分にはむしろむいているのかなと思えた。
今回使ったのは
変数として
SDL_Event
SDLKey
SDL_Surface
の3つの型

関数は
初期化の
SDL_Init
終了の
SDL_Quit

画面生成の
SDL_SetVideoMode

キャプションを設定する
SDL_WM_SetCaption

peehmessageに相当するSDL_PollEvent

たったの5kbyteの実行ファイルは5kbyte分の内容もないが
SDL本体の機能を追求したとしても
oleloadpictureは微妙な技だがWin32APIの最低限のテストで行ったような
タイマー・スレッド・画面プロパティ・フォントのアクセスに比べると
できそうなことも非常に頼りない。
画像のロードもijgやlibpngに依存するならばSDL_imageを使うのはどうかとも思える。

だが、今回タイトルに文字列は出せたしキーやマウスには対応できるわけだから
この与えられた環境で何かができないようならもっと納得いく環境でも多分何もできないだろう。
直接的な方法に目が向くが
XというよりFreeBSDのネイティブなAPIについての資料を整理して並べるのは
結構困難だし今はその時ではないのだ。

3Dアクセラレータを使わないガチンコアニメーションも実装した方がいいとはおもうが
とりあえず何年かぶりのOpenGLが急務だろう。
つまり真の最低限のテンプレートはOpenGLで起動しテキストとテクスチャーの準備ができるところだと思う。
その一歩目の為にまだメモリ関連とかCそのものFreeBSDそのもので知らなくちゃいけないことがたくさんありそうだ。

ちなみにSDLはlgplだ。Windowsなどで添付する場合はドキュメントとか面倒だな。
SDL1.3だと違うらしい。
gplのソース公開のハンデはゲームの場合ルール破壊するボットが作られたりチートソフトが作られる点だけだと思うので
コンテンツの著作権が守られる以上たいしたデメリットはないと思っている。


ラベル:SDL
posted by Xo_ox at 16:57| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。