Я хочу создать новую фотографию в том месте, где я ее касаюсь, и хочу, чтобы это делалось при каждом касании, поэтому я написал следующую строку внутри функции void Update ().
public Canvas cv;
public Image im;
I определили элементы пользовательского интерфейса выше.
for (var i = 0; i < Input.touchCount; ++i)
{ Touch touch = Input.GetTouch(i);
if (touch.phase == TouchPhase.Began)
{
Instantiate(im, Input.GetTouch(i).position, Quaternion.identity).transform.SetParent(cv.transform, false);
}
}
И когда я пытаюсь сделать это с помощью приложения для удаленного доступа, я делаю снимок на 3-4 пальца выше точки, которую нажимаю. в чем проблема? пожалуйста, помогите!
Vector2 scaleSomething()
{
var screenPosition = Camera.main.WorldToScreenPoint(worldPosition);
var scaler = cv.GetComponentInParent<CanvasScaler>();
var guiScale = 1.0f;
if (Mathf.Approximately(scaler.matchWidthOrHeight, 0.0f))
guiScale = scaler.referenceResolution.x / (float) Screen.width;
else if (Mathf.Approximately(scaler.matchWidthOrHeight, 1.0f))
guiScale = scaler.referenceResolution.y / (float) Screen.height;
return new Vector2(
(screenPosition.x - (Screen.width* 0.5f)) * guiScale,
(screenPosition.y - (Screen.height* 0.5f)) * guiScale);
}