С Новым годом! Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 30.08.2017
Сообщений: 12
1

Как сделав два клика поменять объекты местами, 1 клик - выбрать, 2 - поменять

23.04.2019, 17:45. Показов 3073. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть массив изображений
C#
1
private Transform[15] pictures;
, как по 1у клику запомнить его координаты, а по второму клику, объекты поменять местами. А если клик был сделал снова по первому отменить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2019, 17:45
Ответы с готовыми решениями:

Поменять местами два квадрата
Привет. Только начал разбираться с юнити и вопрос: Даны 2 квадрата. Как их свайпнуть? (поменять...

Плавно поменять местами два объекта
Здравствуйте. Необходимо плавно поменять местами два объекта. Делаю так: public class MOVE :...

Поменять объекты местами
Добрый день! Есть условие: если 1 картинка попадает на 2 картинку, то 2 картинка перемещается:...

Как поменять местами два label
Нужно чтобы когда нажимаем впервые на label1 записались его координаты а когда второй раз нажимаем...

4
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
23.04.2019, 19:26 2
vadossso, Я тебе напишу словами, кодом сам сможешь.

Бул клик был.
ГеймОбъект объектПоКоторомуКликнули.

Если (луч был выпущен и попал в какой-то из объектов)
{
Если(клик был == тру)
{
Если(объект в который попал луч != объектПоКоторомуКликнули)
Меняем местами.
Иначе
клик был = фол
}иначе
{
объектПоКоторомуКликнули = объект в который попал луч
клик был = тру
}
}
1
3358 / 1772 / 1027
Регистрация: 26.10.2018
Сообщений: 5,199
23.04.2019, 20:14 3
kitsoRik, )))
0
0 / 0 / 0
Регистрация: 30.08.2017
Сообщений: 12
23.04.2019, 20:15  [ТС] 4
Цитата Сообщение от kitsoRik Посмотреть сообщение
Бул клик был.
ГеймОбъект объектПоКоторомуКликнули.
Если (луч был выпущен и попал в какой-то из объектов)
{
Если(клик был == тру)
{
Если(объект в который попал луч != объектПоКоторомуКликнули)
Меняем местами.
Иначе
клик был = фол
}иначе
{
объектПоКоторомуКликнули = объект в который попал луч
клик был = тру
}
}
Поместить в void OnMouseDown()?
C#
1
2
3
4
5
6
7
8
9
10
11
12
void OnMouseDown()
    {
        RaycastHit hit = new RaycastHit();
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
 
        Vector2 pos1 = new Vector2(transform.localPosition.x, transform.localPosition.z);
        Debug.Log("RayCast On");
        if (Physics.Raycast(ray, out hit))
        {
 
        }
    }
Правильно делаю? что-то я туплю
0
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
23.04.2019, 20:43 5
vadossso, OnMouseDown вызываеться при нажатии на сам объект, можно конечно и так делать, но есть способ лучше.

В каком-то скрипте, в апдейте делаешь все это под условием:
C#
1
2
3
4
if(Input.GetMouseButtonDown(0))
{
// tyt
}
0
23.04.2019, 20:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2019, 20:43
Помогаю со студенческими работами здесь

Поменять местами объекты (слои)
Привет всем! Такая ситуация: Есть Canvas с именем MainCanvas. На нем располагаются еще несколько...

Как поменять местами два элемента массива char
Есть два элемента массива типа char(не по одному символу), нужно поменять их местами. Как это...

Как поменять местами два столбца двухмерного массива?
Помогите доделать программу. Из вложенного файла осталось только сделать 3 последний задания......

Как поменять местами два объекта в std::list?
Подскажите, пожалуйста, как с использованием списка обменять два объекта. Т.е. list<myclass>...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru