Allegro4.9.9 example


これらサンプルプログラムはターミナル上で動作します。
例えば ex_color というプログラムと同じ階層のディレクトリに移動して、そこで「./ex_color」 と打ち込めば実行できます。
終了はESC キー、また ctrl+c キーで強制終了もできます。サンプルの中には、ソースコードに操作説明が書かれているものもあります。

Allegroのサンプルだけをビルド、コンパイルしたい場合は、build/examples ディレクトリに入って、そこで make clean; make します。
alg5-ex_bitmap_target.png
alg5-ex_bitmap_target.png
alg5-ex_blend.png
alg5-ex_blend.png
◆ex_bitmap_flip
ねずみの画像がウインドウ内を移動します。
ウインドウの端にぶつかると反転して向きを変えます。

◆ex_rotate
ねずみの画像が、回転する。
スペースキーを押すとモードが切り替わり高速になる。(このサンプルでは、背景が青くなります)
モード:0 (デフォルト)  backbafferの描画前に、off-screenbaffer に描画。(黒背景)
モード:1  backbafferの描画に合わせて描画を調節する。モード1に比べ高速。(青背景に変化)
c クリッピング処理:画像の一部分を切り抜いて表示させる
w ワイドモード: 画像が拡大する。
v, h 反転
t 半透明切替え
s メモリソースモード:メモリビットマップを使う。描画はさらに高速。ただし、デフォルトでは無効=falseになっています。
  (モード0の場合、この高速化は効果がありません。このサンプルでは、背景が赤くなります)


◆ex_scale
ねずみの画像の縦横比率が動的に変化する。 (操作方法はex_rotateと同じ)
スペースキーを押すとモードが切り替わり高速になる。(背景が青くなる)
backbaffer + メモリビットマップ の組合せが高速。
他に、ビットマップのロックを行なうと高速化できるらしい。

◆ex_color
色成分をRGB, HSV,HSL,YUV,CMYK形式で操作できます。
また、作った色は、RGB16進表記、ColorNameでも表示されます。
各スライダはそれぞれ連動しています。

◆ex_blend
混色処理のテスト
What to draw の Rec1 〜5 
Where to draw の offscreen 1〜5 memory1〜5 
をクリックすると、画面に変化が現れます。

◆ex_convert
指定したファイル形式で保存する。
Usage: exnew_convert  
        Possible file types: BMP PCX PNG TGA

◆ex_drawpixels
宇宙空間のようにドットが流れる

◆ex_logo
フォントと色を指定してロゴを作れる。起動や動作が重すぎて不明。
R ランダム値
S logo.pngで保存


◆ex_draw 
様々なパラメータを指定した直線や円(楕円)を描画、
これを16倍に拡大したときのドットの正確さや歪みを比較検証する。


◆ex_expose
ウインドウの緑の(+)ボタンを押すとウインドウが最大化する。
ねずみの画像がタイリングされる。


◆ex_font
画像をバックに、red, green と文字が表示される。


◆ex_font_justify
単語間のスペースを動的に変化させるデモ。
スライダーを動かすと、スペースの幅を変更できる。
好きな英文を入力することもできる。
このサンプルでは、残念ながら、日本語の入力変換はできない。


◆ex_fs_resize
解像度の変更(フルスクリーン)。
2、3回解像度が自動的に変化して、最後は元の解像度にもどります。


◆ex_get_path 
ファイルパスを得る
~/allegro498/build/examples user$ ./ex_get_path
AL_PROGRAM_PATH: /Users/user/allegro498/build/examples
AL_TEMP_PATH: /private/var/tmp/folders.501/TemporaryItems
AL_SYSTEM_DATA_PATH: /Users/user/allegro498/build/examples/liballeg.org/ex_get_path
AL_SYSTEM_SETTINGS_PATH: /Library/Application Support/liballeg.org/ex_get_path
AL_USER_DATA_PATH: /Users/user/Library/liballeg.org/ex_get_path
AL_USER_SETTINGS_PATH: /Users/user/Library/Application Support/liballeg.org/ex_get_path
AL_USER_HOME_PATH: /Users/user
AL_EXENAME_PATH: /Users/user/allegro498/build/examples/./ex_get_path
23:~/allegro498/build/examples user$ 

◆ex_noframe
ウインドウ枠のないウインドウが表示される。
不定形ウインドウ?

◆ex_mouse_focus
2つのウインドウが現れる。マウスがウインドウ内の領域に入った場合、その背景が赤くなる。

◆ex_keyboard_events
キー押下を検出。

◆ex_subbitmap
2つのウインドウがあり、source が元画像、Destination がサブビットマップ内容を表示します。
souceウインドウ内をマウスでドラッグした領域(青枠の矩形)の内容が Destination へ表示されます。

1 キーを押すと sourceの矩形領域が、Destinationへ等倍表示される(デフォルト)
s キーを押すと source矩形領域が、Destinationへ拡大表示される。
※Destination ウインドウ側の表示領域も、マウスドラッグで自由に作れます。
※これは、画像の指定した領域を別ウインドウに拡大表示する処理に使えます。


◆ex_memfile
不明
Creating memfile
Writing data to memfile
Reading and testing data from memfile
Item 1 failed to verify, got 0

◆ex_thread
スレッド処理のテスト。3つのウインドウが現れる。
各ウインドウは、スレッド処理によって3つのウインドウ背景色が同時にフェードインする。

◆ex_mouse
ウインドウ内だけで動かせるマウスカーソル(cursor.tgaの画像)を表示。
マウスボタンの押下を検出。

◆ex_mouse_cursor
2つのウインドウが表示されます。
マウスカーソルがどちらかウインドウ内の領域にあるとき
それぞれ設定したマウスカーソルの形を変化させたり表示/非表示します。

設定後、ウインドウA,Bを並べて、ウインドウA内からウインドウBの領域へ
マウスカーソルを移動してみると変化がわかります。
s ウインドウ領域内にカーソルがあれば、マウスを表示させる。
h ウインドウ領域内にカーソルがあれば、マウスを非表示にする。
1〜4 定義済みカーソル
c カスタムカーソル(カーソル画像)
ESC 終了


◆ex_windows
ウインドウをクリックすると、
デスクトップ上をウインドウが走り出します。

※マルチウインドウ利用時に、ウインドウの配置を
整列させたりできるかもしれない。

◆ex_icon
ウインドウのタイトルバーにあるアイコンが変化するらしい(Windows用?)

◆ex_resize.
自動的にウインドウサイズが変化する
とまらないので、ESCキーで終了。

◆ex_resize2
ウインドウの右下角を、マウスでドラッグすることで、
ウインドウサイズを自在に変化させることができます。

◆ex_saw
ビープ音を出す。

◆ex_warp_mouse
ウインドウ内でクリックするとマウスカーソルの位置が、
ウインドウ中央の指定座標へ瞬間移動する。


◆ex_native_filechooser
OS固有のファイルダイアログを出し、選択したファイル名を表示する。


◆pixel_format
16bit〜 8bit 画像に、減色表示
矢印キーで、切り替えます。

◆ex_mixer_chain ./sound/BGM009.ogg ./sound/boom.ogg
Using OpenAL driver
Playing './sound/boom.ogg' (0.849 seconds) 3 times
三回ならして、音量はフェードアウトする。

◆ex_stream_seek
簡易音楽プレイヤー。A→B区間リピート。
曲の途中へジャンプすることができます。

◆ex_stream_file ./sound/mozart.ogg
指定した音楽ファイルの再生
Starting OpenAL... Vendor: Apple Computer Inc. Version: 1.1 Renderer: Software Extensions: AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE AL_EXT_float32 AL_EXT_STATIC_BUFFER ...done Using OpenAL driver Voice created. Mixer created. Stream created from './sound/mozart.ogg'. Playing ./sound/mozart.ogg ... Waiting for stream to finish
◆ex_acodec_multi ./sound/mozart.ogg ./sound/BGM009.ogg ./chimes.wav 複数の音楽ファイルを、同時に再生する。
Starting OpenAL... Vendor: Apple Computer Inc. Version: 1.1 Renderer: Software Extensions: AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE AL_EXT_float32 AL_EXT_STATIC_BUFFER ...done Using OpenAL driver Could not load sample from './chimes.wav'! Playing './sound/mozart.ogg' (59.587 seconds) Playing './sound/BGM009.ogg' (78.591 seconds)
◆ ./ex_audio_simple … 複数の曲をロードして任意に同時再生します。1、2、3のキーを押せば、引数に対応する曲を再生する。同じ番号ばかり押せば、輪唱のような効果が得られます。 スペースキーを押せば全ての曲の再生を停止します。終了はESCキー
./ex_audio_simple 22_Event.ogg 04_Main_Theme.ogg Starting OpenAL... Vendor: Apple Computer Inc. Version: 1.1 Renderer: Software Extensions: AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE AL_EXT_float32 AL_EXT_STATIC_BUFFER ...done Press digits to play sounds, space to stop sounds, Escape to quit. Playing 0 Playing 0 Playing 0
◆ ./ex_kcm_direct KCM Audioによって、音楽を再生します。
./ex_kcm_direct title_music.ogg Starting OpenAL... Vendor: Apple Computer Inc. Version: 1.1 Renderer: Software Extensions: AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE AL_EXT_float32 AL_EXT_STATIC_BUFFER ...done Loaded sample: 16-bit depth, 2 channels, 11025 Hz Trying to create a voice with the same specs... done. Starting voice Playing 'title_music.ogg' (66.670 seconds) 3 times
alg5-ex_blend2.png
alg5-ex_blend2.png
alg5-ex_color.png
alg5-ex_color.png
alg5-ex_glext.png
alg5-ex_glext.png
alg5-ex_lines.png
alg5-ex_lines.png
alg5-ex_logo.png
alg5-ex_logo.png
alg5-ex_draw2.png
alg5-ex_draw2.png
alg5-ex_font_just.png
alg5-ex_font_just.png
alg5-ex_membitmap.png
alg5-ex_membitmap.png
alg5-ex_mouse_focus.png
alg5-ex_mouse_focus.png
alg5-ex_noframe.png
alg5-ex_noframe.png
alg5-ex_opengl.png
alg5-ex_opengl.png
alg5-ex_sbitmap.png
alg5-ex_sbitmap.png
alg5-ex_thread.png
alg5-ex_thread.png
alg5-ex_thread2.png
alg5-ex_thread2.png
alg5-demo.png
alg5-demo.png
alg5-ec_windows.png
alg5-ec_windows.png
alg5-ex_audio_props.png
alg5-ex_audio_props.png
alg5-ex_blit.png
alg5-ex_blit.png
alg5-ex_strm_seek.png
alg5-ex_strm_seek.png
alg5-ex_native.png
alg5-ex_native.png
alg5-ex_pixelformat.png
alg5-ex_pixelformat.png
alg5-ex_prim.png
alg5-ex_prim.png
alg5-ex_gldepth.png
alg5-ex_gldepth.png
alg5-ex_ttf.png
alg5-ex_ttf.png