##### Ninjaライブラリ - ライト関数

# njCnkSetSimpleMultiLightSwitch

njCnkSimpleMultiDrawObject(−Model)用ライトの点灯・消灯設定

### 書式

      void njCnkSetSimpleMultiLightSwitch( light, flag )
      Int light
      Int flag

### 引数

  light | ライト番号
  flag | ライトのON／OFF
  | NJD_LIGHT_ON：(点灯)
  | NJD_LIGHT_OFF：(消灯)

### 戻り値

  なし

### 解説

  njCnkSimpleMultiDrawObject関数とnjCnkSimpleMultiDrawModel関数用の光源の点灯・消灯を設定します。 引数には使用するライトの番号および状態(点灯・消灯)を設定してください。 なお、登録したすべてのライトを操作する際には、ライトの番号にNJD_CNK_SIMPLE_MULTILIGHT_ALLを指定してください。

### 用例

      	:
      njInitVertexBuffer( 1000000, 0, 1000, 0, 0 );
      njInitMatrix( matrix, 8 , 0);
      njInit3D( vbuf, 4096 );
      njInitView( &view );
      njSetView( &view );
      /* チャンクライトを4個設定 */
      njCnkSetSimpleMultiLight( 4 );
      /* チャンクライトの平行光源(1番目の光源)方向設定 */
      njCnkSetSimpleMultiLightVector(0.f, 0.f, -1.f);
      /* チャンクライトの点光源位置設定 */
      /* 2番目の光源(点光源)の設定 */
      njCnkSetSimpleMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_2, 0.f, 0.f, -12.f);
      /* 3番目の光源(点光源)の設定 */
      njCnkSetSimpleMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_3, 0.f, 0.f, -12.f);
      /* チャンクライトの点光源範囲(距離)設定 */
      njCnkSetSimpleMultiLightRange(NJD_CNK_EASY_MULTILIGHT_2, 6.f, 40.f);
      njCnkSetSimpleMultiLightRange(NJD_CNK_EASY_MULTILIGHT_3, 6.f, 40.f);
      njCnkSetSimpleMultiLightRange(NJD_CNK_EASY_MULTILIGHT_4, 6.f, 40.f);
      /* チャンクライトのアンビエント色設定 */
      njCnkSetSimpleMultiAmbient(0.1f, 0.1f, 0.1f);
      /* チャンクライトの光源色設定 */
      njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_1, 0.6f, 0.5f, 0.3f);
      njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_2, 1.f, 0.5f, 0.5f);
      njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_3, 0.5f, 1.f, 0.5f);
      njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_4, 0.5f, 0.5f, 1.f);
      	：
      per = pdGetPeripheral(PDD_PORT_A0);
      if( per->press & PDD_DGT_TB ) {
      	static int _lt = NJD_LIGHT_ON;	/* チャンクライトのＯＮ・ＯＦＦ設定 */
      	njCnkSetSimpleMultiLightSwitch(NJD_CNK_SIMPLE_MULTILIGHT_ALL, _lt);
      }
      njClearMatrix();
      /* チャンクライトの方向・位置の反映 */
      njCnkSetSimpleMultiLightMatrices();
      njTranslate( NULL, 0.f, 0.f, -10.f );
      njRotateXYZ( NULL, rx,ry,rz );
      njCnkSimpleMultiDrawObject( Object );

### 参照

  njCnkSimpleMultiDrawModel()
  njCnkSimpleMultiDrawObject()
  njCnkSetSimpleMultiAmbient()
  njCnkSetSimpleMultiLight()
  njCnkSetSimpleMultiLightColor()
  njCnkSetSimpleMultiLightMatrices()
  njCnkSetSimpleMultiLightPoint()
  njCnkSetSimpleMultiLightRange()
  njCnkSetSimpleMultiLightVector()

njCnkSetSimpleMultiLightSwitch

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999