コード例 #1
0
    private EZMouseEventCSharp dealEvent(EZMouseEventCSharp evt)
    {
        Camera  cam      = UICamera.currentCamera;
        Vector3 position = cam.WorldToScreenPoint(this.gameObject.transform.position);
        Vector3 abc      = cam.ScreenToViewportPoint(evt.absolute - position);

        evt.worldPoint = cam.ScreenToWorldPoint(evt.absolute);

        Vector3 scale = GetWorldScale(this.gameObject.transform);
        var     r     = (cam.GetScreenWidth() / cam.GetScreenHeight());

        Vector3 v = new Vector3((_box.size.x * scale.x) / (r * 2), (_box.size.y * scale.y) / 2, 1);

        evt.position   = new Vector3(abc.x / v.x, (abc.y) / v.y, 1);
        evt.position.x = Mathf.Clamp01(evt.position.x);
        if (evt.position.x == 1.0f)
        {
            evt.position.x = 0.99999f;
        }
        evt.position.y = Mathf.Clamp01(evt.position.y);
        if (evt.position.y == 1.0f)
        {
            evt.position.y = 0.99999f;
        }
        _position = evt.position;
        //evt.worldPoint.y = (evt.position.y * _box.size.y *2)/scale.y + this.gameObject.transform.position;
        return(evt);
    }
コード例 #2
0
    private EZMouseEventCSharp dealEvent(EZMouseEventCSharp evt)
    {
        Camera cam =  UICamera.currentCamera;
        Vector3 position  = cam.WorldToScreenPoint(this.gameObject.transform.position);
        Vector3 abc  = cam.ScreenToViewportPoint(evt.absolute - position);
        evt.worldPoint = cam.ScreenToWorldPoint(evt.absolute);

        Vector3 scale = GetWorldScale(this.gameObject.transform);
        var r = (cam.GetScreenWidth()/ cam.GetScreenHeight()) ;

        Vector3 v = new Vector3((_box.size.x* scale.x)/(r *2), (_box.size.y* scale.y)/2 , 1);
        evt.position = new Vector3(abc.x/v.x, (abc.y)/v.y , 1);
        evt.position.x = Mathf.Clamp01(evt.position.x);
        if(evt.position.x == 1.0f){
            evt.position.x = 0.99999f;
        }
        evt.position.y = Mathf.Clamp01(evt.position.y);
        if(evt.position.y == 1.0f){
            evt.position.y = 0.99999f;
        }
        _position = evt.position;
        //evt.worldPoint.y = (evt.position.y * _box.size.y *2)/scale.y + this.gameObject.transform.position;
        return evt;
    }
コード例 #3
0
 public void doDown(EZMouseEventCSharp evt)
 {
     Debug.Log("A");
     inputDown(dealEvent(evt));
 }
コード例 #4
0
 public void doUp(EZMouseEventCSharp evt)
 {
     inputUp(dealEvent(evt));
 }
コード例 #5
0
 public void doMove(EZMouseEventCSharp evt)
 {
     inputMove(dealEvent(evt));
 }
コード例 #6
0
 abstract protected void inputDown(EZMouseEventCSharp evt);
コード例 #7
0
 abstract protected void inputMove(EZMouseEventCSharp evt);
コード例 #8
0
 protected abstract void inputUp(EZMouseEventCSharp evt);
コード例 #9
0
 public void doUp(EZMouseEventCSharp evt)
 {
     inputUp(dealEvent(evt));
 }
コード例 #10
0
 public void doMove(EZMouseEventCSharp evt)
 {
     inputMove(dealEvent(evt));
 }
コード例 #11
0
 public void doDown(EZMouseEventCSharp evt)
 {
     Debug.Log("A");
     inputDown(dealEvent(evt));
 }