Example #1
0
    /// <summary>
    /// 創造一個按鈕在場景上
    /// </summary>
    /// <returns>The scene button.</returns>
    /// <param name="name">Name.</param>
    /// <param name="parent">Parent.</param>
    /// <param name="mat">Mat.</param>
    /// <param name="W">W.</param>
    /// <param name="H">H.</param>
    /// <param name="cam">Cam.</param>
    /// <param name="type">Type.</param>
    public static GameObject CreateSceneBtn(string name,GameObject parent,
	                                        Material mat,float W,float H,Camera cam ,
	                                        KZScreenPos.TYPE type = KZScreenPos.TYPE.CENTER)
    {
        float _ScaleX = W*10;
        float _ScaleY = H*10;
        GameObject btn = new GameObject();
        btn.tag = "MBtn";
        btn.transform.parent = parent.transform;
        btn.name =name;
        btn.AddComponent<BoxCollider>();
        btn.GetComponent<BoxCollider>().center =new  Vector3(0,0,0);
        btn.GetComponent<BoxCollider>().size =new Vector3(_ScaleX,_ScaleY,1);
        btn.AddComponent<KZScreenPos>();
        btn.GetComponent<KZScreenPos>().SetScreenPosType(cam,type,_ScaleX/2,_ScaleX/2);

        GameObject btnAnchor = new GameObject();
        btnAnchor.name = "btnAnchor";
        btnAnchor.transform.parent = btn.transform;
        btnAnchor.transform.localPosition =new Vector3((btn.GetComponent<KZScreenPos>().x_offset*_ScaleX*-1)/2,(btn.GetComponent<KZScreenPos>().y_offset*_ScaleY*-1)/2,-1);
        GameObject btnChild  = GameObject.CreatePrimitive (PrimitiveType.Plane);
        btnChild.name = "btnChild";
        btnChild.transform.parent = btnAnchor.transform;
        btnChild.transform.localScale =new Vector3(W,1,H);
        btnChild.transform.eulerAngles=new Vector3 (90f,180f, 0f);
        btnChild.transform.localPosition =new Vector3((btn.GetComponent<KZScreenPos>().x_offset*_ScaleX)/2,(btn.GetComponent<KZScreenPos>().y_offset*_ScaleY)/2,0);
        btnChild.GetComponent<Renderer>().material = mat;
        btnChild.GetComponent<Collider>().enabled = false;
        return btn;
    }
Example #2
0
 /// <summary>
 /// 動態改變TYPE
 /// </summary>
 /// <param name="type">Type.</param>
 public void SetScreenPosType(Camera _cam,KZScreenPos.TYPE type)
 {
     _type = type;
     SetCamera(_cam);
     SetVector3 ();
     SetScreenPosition(1,1);
 }
Example #3
0
 public void SetScreenPosType(Camera _cam,KZScreenPos.TYPE type,float _offset_x,float _offset_y)
 {
     _type = type;
     SetCamera(_cam);
     SetOffsetPos(_offset_x,_offset_y);
     SetVector3 ();
     SetScreenPosition(x_offset,y_offset);
 }
Example #4
0
    /// <summary>
    /// 創造一個borad  
    /// </summary>
    /// <returns>The scene broad.</returns>
    /// <param name="sizeW">Size w.</param>
    /// <param name="sizeH">Size h.</param>
    /// <param name="mat">Mat.</param>
    /// <param name="pos">Position.</param>
    /// <param name="cam">Cam.</param>
    /// <param name="type">Type.</param>
    public static GameObject CreateSceneBroad(float sizeW,float sizeH,Material mat,Vector3 pos,
	                                          Camera cam,KZScreenPos.TYPE type = KZScreenPos.TYPE.CENTER)
    {
        GameObject broad  = GameObject.CreatePrimitive (PrimitiveType.Plane);
        broad.transform.localScale =new Vector3(sizeW,1,sizeH);
        broad.transform.eulerAngles=new Vector3 (90f,180f, 0f);
        broad.AddComponent<KZScreenPos>();
        broad.GetComponent<KZScreenPos>().SetScreenPosType(cam,type,sizeW/2,sizeH/2);
        broad.transform.localPosition =pos;
        broad.GetComponent<Renderer>().material = mat;
        broad.GetComponent<Collider>().enabled = false;
        return  broad;
    }