Касание к объекту

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Касание к объекту

Сообщение Kirilenkov 25 апр 2017, 08:26

Здравствуйте! Подскажите как реализуется касание к объекту? На тач скрине?
Мне нужно когда игрок прикоснулся пальцем к шару например тот исчезал.
примерно так?

public void shar(){
Shar.Destroy();

}
Просто вопрсо в том что мне нужно на каждый шар вешатть этот скрипт? или как то по другому можно реализовать? У меня может бытть нескольок шаров на экране и их всех можно удалить.
Kirilenkov
UNец
 
Сообщения: 45
Зарегистрирован: 07 май 2016, 19:26

Re: Касание к объекту

Сообщение Valentinus 25 апр 2017, 08:34

обычно пускается луч из точки касания, и проверяется через какие объекты луч проходит - если попался шар, то удаляете его с сцены.

смотрите в справке или гуглите RayCast

PS как-то так:

Синтаксис:
Используется csharp
if (Input.GetKey ("mouse 0")) { //  если  нажата ЛКМ

                                        Ray ray = main_camera.ScreenPointToRay (Input.mousePosition);

                                        RaycastHit[] hits;
                                        hits = Physics.RaycastAll (ray, 1000.0F);
                                        for (int i = 0; i < hits.Length; i++) {                                
                                               
                                                if (hits [i].transform.tag == "shar" ) {
                                                        // удаляете шар или что-то еще


здесь 1000.0F - максимальная дистанция от камеры до шара (можете поставить свою или бесконечность)
здесь шар определяется по тегу у объекта "shar" ( или можете сделать по имени, name)
main_camera - главная камера

если на экране висят какие-то кнопки и нужно чтобы нажатие сквозь них не проходило, то добавьте перед (Ray ray...) код:

Синтаксис:
Используется csharp
                                        // блокировка от нажатий через UI
                                        PointerEventData clickData = new PointerEventData (EventSystem.current);
                                        clickData.position = Input.mousePosition;
                                        List<RaycastResult> results = new List<RaycastResult> ();
                                        EventSystem.current.RaycastAll (clickData, results);
                                        if (results.Count != 0)
                                                return;

 
другое мое творчество: samlib.ru/u/us_w/
Аватара пользователя
Valentinus
Старожил
 
Сообщения: 889
Зарегистрирован: 24 мар 2017, 18:33

Re: Касание к объекту

Сообщение Kirilenkov 26 апр 2017, 20:51

у меня просто много других объеквто на сцене а если сделать tag для объектов которые нужно удалить как тогда скрипт записывать?Если просто исключить их как кнопки?
Kirilenkov
UNец
 
Сообщения: 45
Зарегистрирован: 07 май 2016, 19:26

Re: Касание к объекту

Сообщение NOVA 26 апр 2017, 23:17

Kirilenkov писал(а):у меня просто много других объеквто на сцене а если сделать tag для объектов которые нужно удалить как тогда скрипт записывать?Если просто исключить их как кнопки?

Это всё гуглится. Raycast object.
if (object.tag.name=("destroyedsphere"))
Типа того сейчас не помню.

Вот Что-то похожее.
http://answers.unity3d.com/questions/37 ... ycast.html
Господа. Пора учить английский.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Касание к объекту

Сообщение Valentinus 27 апр 2017, 07:27

Kirilenkov писал(а):у меня просто много других объеквто на сцене а если сделать tag для объектов которые нужно удалить как тогда скрипт записывать?Если просто исключить их как кнопки?

Я вам такой пример и привел - условие срабатывает только на обьекты с тегом shar
другое мое творчество: samlib.ru/u/us_w/
Аватара пользователя
Valentinus
Старожил
 
Сообщения: 889
Зарегистрирован: 24 мар 2017, 18:33

Re: Касание к объекту

Сообщение Kirilenkov 27 апр 2017, 09:10

Да простите не уивдел. по другому написано я через tag написал.

А подскажите еще если дургие объекты висят на экране. вы сказали добавить код он весь подчеркивается крсаным

а так ошибка выпадает если на других объектах нет тэга этого
Kirilenkov
UNец
 
Сообщения: 45
Зарегистрирован: 07 май 2016, 19:26

Re: Касание к объекту

Сообщение Kirilenkov 01 май 2017, 11:45

Valentinus писал(а):
Kirilenkov писал(а):у меня просто много других объеквто на сцене а если сделать tag для объектов которые нужно удалить как тогда скрипт записывать?Если просто исключить их как кнопки?

Я вам такой пример и привел - условие срабатывает только на обьекты с тегом shar



Подскажите еще вы написали код чтобы не срабатывал этот код если лругие объекты нажимаешь. ноу меня все красным подчеркивает? Как правильно его записать. поому что оно спотывается но работает в итоге при перезапуксе. а как полностью убарть эту ошибку?
Kirilenkov
UNец
 
Сообщения: 45
Зарегистрирован: 07 май 2016, 19:26


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27