الخميس، 3 مايو 2012

public override void handleSingleTouch(BBTouchEvent aTouch)
    {
        if (aTouch.eventState == BBTouchEventState.Began)
        {
            Debug.Log("Touch Began");
        }
        if (aTouch.eventState == BBTouchEventState.Moved)
        {
            float atxnow = aTouch.screenPosition.x;
            float atynow = aTouch.screenPosition.y;
            float atx = aTouch.lastScreenPosition.x;
            float aty = aTouch.lastScreenPosition.y;
            float ycamnow = cam.transform.position.y;
            float xcamnow = cam.transform.position.x;
            float zcamnow = cam.transform.position.z;
            if (atxnow >= atx && atynow >= aty)
            {
                this.startPivot(cam.transform.position);
                pivot.transform.position = Vector3.Lerp(pivot.transform.position, new Vector3(pivot.transform.position.x - (atxnow - atx) - 40, ycamnow,
                    pivot.transform.position.z - (atynow - aty) - 40), Time.deltaTime);
                v = new Vector3(pivot.transform.position.x - (atxnow - atx) - 40, ycamnow,
                    pivot.transform.position.z - (atynow - aty) - 40);
                this.endPivot();

            }
            //================================================================
            if (atxnow >= atx && atynow < aty)
            {
                this.startPivot(cam.transform.position);
                pivot.transform.position = Vector3.Lerp(pivot.transform.position, new Vector3(pivot.transform.position.x - (atxnow - atx) - 40, ycamnow,
               pivot.transform.position.z + Mathf.Abs(atynow - aty) + 40), Time.deltaTime);
                v = new Vector3(pivot.transform.position.x - (atxnow - atx) - 40, ycamnow,
               pivot.transform.position.z + Mathf.Abs(atynow - aty) + 40);
                this.endPivot();
            }
            //================================================================
            if (atxnow < atx && atynow >= aty)
            {
                this.startPivot(cam.transform.position);
                pivot.transform.position = Vector3.Lerp(pivot.transform.position, new Vector3(pivot.transform.position.x + Mathf.Abs(atxnow - atx) + 40, ycamnow,
               pivot.transform.position.z - (atynow - aty) - 40), Time.deltaTime);
                v = new Vector3(pivot.transform.position.x + Mathf.Abs(atxnow - atx) + 40, ycamnow,
               pivot.transform.position.z - (atynow - aty) - 40);
                this.endPivot();
            }
            //================================================================
            if (atxnow < atx && atynow < aty)
            {
                this.startPivot(cam.transform.position);
                pivot.transform.position = Vector3.Lerp(pivot.transform.position, new Vector3(pivot.transform.position.x + Mathf.Abs(atxnow - atx) + 40, ycamnow,
               pivot.transform.position.z + Mathf.Abs(atynow - aty) + 40), Time.deltaTime);
                v = new Vector3(pivot.transform.position.x + Mathf.Abs(atxnow - atx) + 40, ycamnow,
               pivot.transform.position.z + Mathf.Abs(atynow - aty) + 40);
                this.endPivot();
            }
            //Debug.Log("Touch Moved");
        }
        if (aTouch.eventState == BBTouchEventState.Stationary)
        {
            Debug.Log("Touch Station");
        }
        if (aTouch.eventState == BBTouchEventState.Ended)
        {
            afterTouchEnd(v);
            Debug.Log("Touch Ended");
        }

        //================================================================
        base.handleSingleTouch(aTouch);

    }

ليست هناك تعليقات:

إرسال تعليق