njChangeSystem
システムを変更します。

書 式

#include <Ninja.h>
void njChangeSystem( mode, frame, count )
Int  mode
Int  frame
Int  count 

引 数

mode
画面モード(解像度)
画面の解像度を指定します
frame
フレームバッファモード
フレームバッファのカラーモードを設定します
count
フレームカウント数
フレーム数を1/60秒を単位とした値で指定します

返 値

なし

エラー

なし

機 能

システムを変更し、画面解像度を指定したモードにします。
2Dクリップエリアを画面サイズと同じにします。

フレームカウント数は1/60を単位とした値で設定します。
例えば2を設定すると、1/30秒毎にフレームチェンジします。
フレームチェンジは、njWaitVSync関数で行います。

設定できる画面モードは以下の通りです。

NJD_RESOLUTION_VGAVGA60Hz
NJD_RESOLUTION_320x240_NTSCNINTSCノンインターレス60Hz
NJD_RESOLUTION_320x240_NTSCINTSCインターレス30Hz
NJD_RESOLUTION_640x240_NTSCNINTSCノンインターレス60Hz
NJD_RESOLUTION_640x240_NTSCINTSCインターレス30Hz
NJD_RESOLUTION_320x480_NTSCIN_FFNTSCフリッカーフリーインターレス(TYPE_B)60Hz
NJD_RESOLUTION_320x480_NTSCNINTSCフリッカーフリーインターレス(TYPE_A)60Hz
NJD_RESOLUTION_320x480_NTSCINTSCフリッカーフリーインターレス(TYPE_A)30Hz
NJD_RESOLUTION_640x480_NTSCNI_FFNTSCフリッカーフリーインターレス(TYPE_B)60Hz
NJD_RESOLUTION_640x480_NTSCNINTSCフリッカーフリーインターレス(TYPE_A)60Hz
NJD_RESOLUTION_640x480_NTSCINTSCフリッカーフリーインターレス(TYPE_A)30Hz
NJD_RESOLUTION_320x240_PALNIPALノンインターレス50Hz
NJD_RESOLUTION_320x240_PALIPALインターレス25Hz
NJD_RESOLUTION_640x240_PALNIPALノンインターレス50Hz
NJD_RESOLUTION_640x240_PALIPALインターレス25Hz
NJD_RESOLUTION_320x480_PALNI_FFPALフリッカーフリーインターレス(TYPE_B)50Hz
NJD_RESOLUTION_320x480_PALNIPALフリッカーフリーインターレス(TYPE_A)50Hz
NJD_RESOLUTION_320x480_PALIPALフリッカーフリーインターレス(TYPE_A)25Hz
NJD_RESOLUTION_640x480_PALNI_FFPALフリッカーフリーインターレス(TYPE_B)50Hz
NJD_RESOLUTION_640x480_PALNIPALフリッカーフリーインターレス(TYPE_A)50Hz
NJD_RESOLUTION_640x480_PALIPALフリッカーフリーインターレス(TYPE_A)25Hz

●以降 NJD_RESOLUTION_XXX_ANTI はアンチエリアスモード
NJD_RESOLUTION_VGA_ANTIVGA60Hz
NJD_RESOLUTION_320x240_NTSCNI_ANTINTSCノンインターレス60Hz
NJD_RESOLUTION_320x240_NTSCI_ANTINTSCインターレス30Hz
NJD_RESOLUTION_640x240_NTSCNI_ANTINTSCノンインターレス60Hz
NJD_RESOLUTION_640x240_NTSCI_ANTINTSCインターレス30Hz
NJD_RESOLUTION_320x480_NTSCNI_FF_ANTINTSCフリッカーフリーインターレス(TYPE_B)60Hz
NJD_RESOLUTION_320x480_NTSCNI_ANTINTSCフリッカーフリーインターレス(TYPE_A)60Hz
NJD_RESOLUTION_320x480_NTSCI_ANTINTSCフリッカーフリーインターレス(TYPE_A)30Hz
NJD_RESOLUTION_640x480_NTSCNI_FF_ANTINTSCフリッカーフリーインターレス(TYPE_B)60Hz
NJD_RESOLUTION_640x480_NTSCNI_ANTINTSCフリッカーフリーインターレス(TYPE_A)60Hz
NJD_RESOLUTION_640x480_NTSCI_ANTINTSCフリッカーフリーインターレス(TYPE_A)30Hz
NJD_RESOLUTION_320x240_PALNI_ANTIPALノンインターレス50Hz
NJD_RESOLUTION_320x240_PALI_ANTIPALインターレス25Hz
NJD_RESOLUTION_640x240_PALNI_ANTIPALノンインターレス50Hz
NJD_RESOLUTION_640x240_PALI_ANTIPALインターレス25Hz
NJD_RESOLUTION_320x480_PALNI_FF_ANTIPALフリッカーフリーインターレス(TYPE_B)50Hz
NJD_RESOLUTION_320x480_PALNI_ANTIPALフリッカーフリーインターレス(TYPE_A)50Hz
NJD_RESOLUTION_320x480_PALI_ANTIPALフリッカーフリーインターレス(TYPE_A)25Hz
NJD_RESOLUTION_640x480_PALNI_FF_ANTIPALフリッカーフリーインターレス(TYPE_B)50Hz
NJD_RESOLUTION_640x480_PALNI_ANTIPALフリッカーフリーインターレス(TYPE_A)50Hz
NJD_RESOLUTION_640x480_PALI_ANTIPALフリッカーフリーインターレス(TYPE_A)25Hz

フレームバッファモードは以下の通りです。

NJD_FRAMEBUFFER_MODE_RGB565
NJD_FRAMEBUFFER_MODE_RGB555
NJD_FRAMEBUFFER_MODE_ARGB1555
NJD_FRAMEBUFFER_MODE_RGB888
NJD_FRAMEBUFFER_MODE_ARGB8888

njChangeSystem関数を行う前にテクスチャをすべて開放し
njChangeSystem関数を行った後、njInitVertexBuffer関数を実行し
テクスチャをロードし直してください。


用 例


一旦フレームバッファの表示を止めてからシステムの変更をする
njStopDisplay();
njReleaseTextureAll();
njChangeSystem(NJD_RESOLUTION_640x480_NTSCI,NJD_FRAMEBUFFER_MODE_RGB565,1);
njInitVertexBuffer( 800000, 0, 300000, 0 ,0 );
njLoadTexture( &texlist );


備 考


関 連

njInitSystem
njInitVertexBuffer

njChangeSystem

Copyright SEGA ENTERPRISES, LTD., 1998