.. default-domain:: csharp .. _CWinCtrlRender: ======================== CWinCtrlRender ======================== スクリプト: :ref:`RENDER` レンダーテクスチャに対して自由にレンダリングするためのコントロールです。 コントロールが生成されたとき、一緒にカメラも生成されます。 そのカメラにレンダリングした対象が描画されることになります。 .. note:: **RENDER** を用いてレンダリングするためのリソースを確保したときは、クローズ時には忘れずに削除するようにしてください。 削除し忘れると、ウィンドウクローズの度にリークすることになります。 .. :ref:`CWindowBase` に届くコールバック :meth:`void onClick(CWinCtrlBase cCtrl)` :meth:`void onHold(CWinCtrlBase cCtrl)` :meth:`void onBeginDrag(CWinCtrlBase cCtrl,Vector2 pos)` :meth:`void onDrag(CWinCtrlBase cCtrl,Vector2 pos,Vector2 dragVelocity)` :meth:`bool onDragRender(CWinCtrlBase cCtrl,Transform transform)` :meth:`void onDrop(CWinCtrlBase cCtrl,CWindowBase cDragWindow,CWinCtrlBase cDragCtrl)` :meth:`void onDropGround(CWinCtrlBase cCtrl)` .. class:: CWinCtrlRender *固有の関数/プロパティ* .. property:: Camera camera { get; } レンダリングテクスチャが割り当てられたカメラを取得できます。 カメラの位置や角度等をカスタマイズしたいときにアクセスしてください。 .. note:: 描画対象オブジェクトとカメラのレイヤーの設定に矛盾が出ないように気を付けてください。 また、複数のRENDERコントロールが同時に画面にできるときは、それぞれのRENDERでレイヤー設定が重複しないように気を付けて割り当てる必要があります。 *使用例* .. code-block:: csharp // get control public override void onCreate() { CWinCtrlRender rdAvatar = find(RENDER_AVATAR); // get camera Camera camera = rdAvatar.camera; // set display layer. camera.cullingMask = (int) e_Layer.OwnPlayer; // set camera position and angle. camera.transform.position = new Vector3(0f,0.85f,0f); camera.transform.rotation = Quaternion.Euler(new Vector3(0f,180f,0f)); GameObject goAvatar = LoadAvatar(); // Sets the layer of game objects to render (Make Same as Camera). Utility.setLayer(goAvatar,e_LayerId.OwnPlayer); } // click callback override protected void onClick(CWinCtrlBase cCtrl) { switch (cCtrl.id) { case RENDER_AVATAR: break; } } // hold callback override protected void onHold(CWinCtrlBase cCtrl) { switch (cCtrl.id) { case RENDER_AVATAR: break; } } ..