В проекте есть некий код для определения слоев
List<RaycastResult> results = EventSystem.current.Raycast (pointMouseBegin, LayerMask.NameToLayer ("SwipeActive"));
if (results.Count > 0) {
Debug.Log ("Swipe count 1");
isClick = true;
}
скрипт:
public static List<RaycastResult> Raycast(this EventSystem system, Vector2 mousePosition, LayerMask layer)
{
List<RaycastResult> raycast = new List<RaycastResult>();
PointerEventData eventDataCurrentPosition = new PointerEventData(system);
eventDataCurrentPosition.position = new Vector2(mousePosition.x, mousePosition.y);
List<RaycastResult> results = new List<RaycastResult>();
system.RaycastAll(eventDataCurrentPosition, results);
foreach (RaycastResult result in results)
{
if (result.gameObject.layer == layer)
{
raycast.Add(result);
}
}
return raycast;
}
он работает только на UI
в канвасе, на простом объекте с Sprite
нет, что не так ?
Посмотрите статью с хабра, чтобы понять как и с чем работает EventSystem
. Если кратко, то с объектами Unity UI ( с помощью Graphics Raycaster), а так же с 2d и 3d физикой (Physics 2D Raycaster и Physics Raycaster), таким образом, EventSystem
не должен работать с простыми Sprite
, только если вы не добавите к ним BoxCollider
, либо BoxCollider2d
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Собственно как сделать имитацию ручного ввода текста в selenium webdriver, по сколько метод SendKeys не подходит, он вводит строку одним разом, а нужно...
Есть возможно сделать как-то чтобы не терялись знаки при конвертации строки в double при следующих ситуациях?
Реализацию прыжка в 2D платформере сделал через "rigidbodyAddForce", при получении урона, происходит тоже самое (то есть отталкивание)