override public void OnSCPointerDrag(InputDevicePartBase part, SCPointEventData eventData) { if (!dc.isBoth && !dc.isMove && isDown) { float temp = 0; float temp2 = 0; float temp3 = 0; Vector3 poslocal = eventData.dragPosition; Vector3 xlv3 = GetNormal(dragInitLocalPosition, poslocal); //Debug.Log("xlv3===========》"+xlv3); // xlv3 = new Vector3(xlv3.x, xlv3.y, 0); // xlv3 = dc.testRot2.transform.InverseTransformPoint(xlv3); temp = xlv3.x; temp2 = xlv3.y; temp3 = xlv3.z; float xishu = 0.7f; switch (index) { case 0: perValue = (1 + (temp + temp2 + temp3) * xishu); break; case 1: perValue = (1 + (temp + temp2 - temp3) * xishu); break; case 2: perValue = (1 + (-temp + temp2 + temp3) * xishu); break; case 3: perValue = (1 + (-temp + temp2 - temp3) * xishu); break; case 4: perValue = (1 + (temp - temp2 - temp3) * xishu); break; case 5: perValue = (1 + (temp - temp2 - temp3) * xishu); break; case 6: perValue = (1 + (-temp - temp2 + temp3) * xishu); break; case 7: perValue = (1 + (-temp - temp2 - temp3) * xishu); break; } if ((dc.scale3 * perValue).x > (dc.Tscale3 / 5).x && (dc.scale3 * perValue).x < (dc.Tscale3 * 5).x) { dc.transform.localScale = dc.scale3 * (perValue); dc.lr.widthMultiplier = dc.LineSize * (perValue); if (dc.transform != dc.editGame.transform.parent) { for (int i = 0; i < dc.veces.Length; i++) { dc.scaleGameList[i].transform.localScale = dc.sScale * (perValue); } for (int i = 0; i < 12; i++) { dc.eulerGameList[i].transform.localScale = dc.rScale * (perValue); } } } dc.changeLine(); } else { dc.isFangda = false; } }
override public void OnSCPointerDrag(InputDevicePartBase part, SCPointEventData eventData) { if (!dc.isBoth && !dc.isMove && isDown) { float temp = 0; float temp2 = 0; float temp3 = 0; // Vector3 poslocal = new Vector3(0, 0, 0); Vector3 poslocal = eventData.dragPosition; Vector3 xlv3 = GetNormal(dragInitLocalPosition, poslocal); temp = xlv3.x; temp2 = xlv3.y; temp3 = xlv3.z; float xishu = 40; if (index == 4 || index == 8 || index == 9 || index == 11) { if (index == 9 || index == 11) { temp = -temp; } if (index == 4 || index == 11) { temp3 = -temp3; } dc.transform.localEulerAngles = new Vector3(0, (temp + temp3 + temp2) * xishu, 0); // dc.transform.Rotate(xxjd - nowxz); // Debug.Log("temp========>"+ index + nowxz); } else if (index == 2 || index == 6 || index == 0 || index == 7) { if (index == 7 || index == 6) { temp = -temp; } if (index == 7 || index == 0) { temp3 = -temp3; } if (index == 2 || index == 6) { temp2 = -temp2; } dc.transform.localEulerAngles = new Vector3(0, 0, -(temp + temp3 - temp2) * xishu); Debug.Log(" 绕Z轴旋转Z" + index); } else { if (index == 5 || index == 10) { temp3 = -temp3; } if (index == 5 || index == 3) { temp2 = -temp2; } dc.transform.localEulerAngles = new Vector3((temp + temp3 + temp2) * xishu, 0, 0); Debug.Log(" 绕X轴旋转Y" + index + xlv3); } dc.changeLine(); if (focusobj.childCount >= 4) { focusobj.GetChild(3).gameObject.SetActive(false); } } else { Debug.Log("关闭DOWN"); isDown = false; } }