Ninjaライブラリ - システム関数

njUserClipping

ユーザークリッピングの設定

書式

void njUserClipping( mode, *p ) 
Int mode 
NJS_POINT2 *p 

引数

mode   クリッピングモード
*p   クリッピング範囲をタイルアクセラレータ単位で指定

戻り値

なし

解説

タイルアクセラレータ単位でのユーザークリッピングの設定を行います。

指定できるモードは以下のとおりです。

 モード   意味 
 NJD_CLIP_DISABLE   ユーザークリップ無効 
 NJD_CLIP_INSIDE   内部に描画 
 NJD_CLIP_OUTSIDE   外部に描画 

設定したタイル値の内部に描画する場合はNJD_CLIP_INSIDEを指定し、外部に描画する場合はNJD_CLIP_OUTSIDEを指定します。

クリッピングする範囲をNJS_POINT2の2つの配列で指定します。 指定する値はタイルアクセラレータ単位(32×32)です。


p[0].x=最小Xタイル値
p[0].y=最小Yタイル値
p[1].x=最大Xタイル値
p[1].y=最大Yタイル値

クリッピングを中止する場合はNJD_CLIP_DISABLEを指定してください。 その場合のタイル値は参照されませんのが、任意の値を設定してください。 ユーザークリッピングは、1レンダリング中に複数回切り替えて使用することができます。


用例

(96,96) - (320,320)の内部に描画します
NJS_POINT2 p[2];
p[0].x = 3;	/* 3x32 = 96 */
p[0].y = 3;	/* 3x32 = 96 */
p[1].x = 10;	/* 10x32 = 320 */
p[1].y = 10;	/* 10x32 = 320 */
/* 内部に描画します */
njUserClipping(NJD_CLIP_INSIDE,p);
モデルなどを描画します
/* クリッピングを中止します */
njUserClipping(NJD_CLIP_DISABLE,p);

njUserClipping
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999