Помощь в написании скрипта перемещения

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

Помощь в написании скрипта перемещения

Сообщение morpex182 12 фев 2019, 15:21

Ребят нужна помощь, как организовать перемещение по нажатию левой клавиши мыши только через центр??? то есть перемещение между внешними шариками ограничить!!!https://ibb.co/vY7X7dp
morpex182
UNец
 
Сообщения: 5
Зарегистрирован: 12 фев 2019, 15:04

Re: Помощь в написании скрипта перемещения

Сообщение Friend123 12 фев 2019, 16:33

Честно? Вообще ничерта не понял - либо уже башка плохо варит к концу рабдня, либо задача горбато описана.
Хоть бы стрелочки какие нарисовал - откуда и куда должен двигать шар, какова траектория движения, чего не должен касаться и т.п.
Аватара пользователя
Friend123
UNIверсал
 
Сообщения: 485
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

Re: Помощь в написании скрипта перемещения

Сообщение morpex182 12 фев 2019, 23:19

Friend123 писал(а):Честно? Вообще ничерта не понял - либо уже башка плохо варит к концу рабдня, либо задача горбато описана.
Хоть бы стрелочки какие нарисовал - откуда и куда должен двигать шар, какова траектория движения, чего не должен касаться и т.п.

Изначально маленьких шарик находится на центральном круге, при нажатии на один из внешних кругов он перемещается в центр круга на который нажали, когда он там окажется, перемещаться между внешними кругами нельзя, то есть чтобы маленькому шарику оказаться на одном из внешних кругов ему нужно попасть сначала в центральный круг а потом уже на любой другой!
morpex182
UNец
 
Сообщения: 5
Зарегистрирован: 12 фев 2019, 15:04

Re: Помощь в написании скрипта перемещения

Сообщение Friend123 13 фев 2019, 08:31

morpex182 писал(а):Изначально маленьких шарик находится на центральном круге, при нажатии на один из внешних кругов он перемещается в центр круга на который нажали, когда он там окажется, перемещаться между внешними кругами нельзя, то есть чтобы маленькому шарику оказаться на одном из внешних кругов ему нужно попасть сначала в центральный круг а потом уже на любой другой!


Ну теперь понятно, а что не получается-то?
Здесь элементарно надо сделать булевую переменную-флаг: если шарик во внешнем круге, то ставим true, а дальше при клике мыши на любой круг идет проверка if(flag == false), то перемещаемся во внешний круг, если true, то не перемещаемся. Тоже самое и с кликом на центральный круг: если flag = true, то перемещаемся в центральный круг.
Аватара пользователя
Friend123
UNIверсал
 
Сообщения: 485
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

Re: Помощь в написании скрипта перемещения

Сообщение morpex182 13 фев 2019, 14:21

Friend123 писал(а):
morpex182 писал(а):Изначально маленьких шарик находится на центральном круге, при нажатии на один из внешних кругов он перемещается в центр круга на который нажали, когда он там окажется, перемещаться между внешними кругами нельзя, то есть чтобы маленькому шарику оказаться на одном из внешних кругов ему нужно попасть сначала в центральный круг а потом уже на любой другой!


Ну теперь понятно, а что не получается-то?
Здесь элементарно надо сделать булевую переменную-флаг: если шарик во внешнем круге, то ставим true, а дальше при клике мыши на любой круг идет проверка if(flag == false), то перемещаемся во внешний круг, если true, то не перемещаемся. Тоже самое и с кликом на центральный круг: если flag = true, то перемещаемся в центральный круг.

А есть какая то возможность кодом описать, а то не понимаю как вешать все на один обработчик клика??? хотя бы примерное описание с использованием функции Vector3.Lerp
morpex182
UNец
 
Сообщения: 5
Зарегистрирован: 12 фев 2019, 15:04

Re: Помощь в написании скрипта перемещения

Сообщение Friend123 13 фев 2019, 16:58

morpex182 писал(а):А есть какая то возможность кодом описать, а то не понимаю как вешать все на один обработчик клика??? хотя бы примерное описание с использованием функции Vector3.Lerp

Скрипт с Lerp написать и повесить на шарик? 0_о
Аватара пользователя
Friend123
UNIверсал
 
Сообщения: 485
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

Re: Помощь в написании скрипта перемещения

Сообщение morpex182 13 фев 2019, 17:27

Friend123 писал(а):
morpex182 писал(а):А есть какая то возможность кодом описать, а то не понимаю как вешать все на один обработчик клика??? хотя бы примерное описание с использованием функции Vector3.Lerp

Скрипт с Lerp написать и повесить на шарик? 0_о

ну или как нибудь по другому организовать передвижение?? я просто совсем недавно начал копаться в unity поэтому не знаю как правильнее будет
morpex182
UNец
 
Сообщения: 5
Зарегистрирован: 12 фев 2019, 15:04

Re: Помощь в написании скрипта перемещения

Сообщение AngryCat 14 фев 2019, 00:00

Если задачу понял правильно, то вот код. Вешай на шарик, а на каждый круг компонент button, и в нем добавь событие, укажи в нем шарик, вызовите метод Going, а в аргумент запихни сам круг.

Синтаксис:
Используется csharp
Public Vector3 pos = Vector3.zero;



Public void Going(GameObject obj){
Pos = Obj.transform.position;
}
Void Update() {
 If(pos != Vector3.zero)
transform.position = Vector3.zero(transform.position, pos, 20 * Time.deltaTime);
}
 
AngryCat
UNец
 
Сообщения: 47
Зарегистрирован: 20 июл 2018, 22:29

Re: Помощь в написании скрипта перемещения

Сообщение waruiyume 14 фев 2019, 00:49

transform.position = Vector3.zero(transform.position, pos, 20 * Time.deltaTime);
ШОЗАНАХ O_o
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 5030
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Помощь в написании скрипта перемещения

Сообщение morpex182 14 фев 2019, 11:17

AngryCat писал(а):Если задачу понял правильно, то вот код. Вешай на шарик, а на каждый круг компонент button, и в нем добавь событие, укажи в нем шарик, вызовите метод Going, а в аргумент запихни сам круг.

Синтаксис:
Используется csharp
Public Vector3 pos = Vector3.zero;



Public void Going(GameObject obj){
Pos = Obj.transform.position;
}
Void Update() {
 If(pos != Vector3.zero)
transform.position = Vector3.zero(transform.position, pos, 20 * Time.deltaTime);
}
 


не получилось пробовал!
morpex182
UNец
 
Сообщения: 5
Зарегистрирован: 12 фев 2019, 15:04

Re: Помощь в написании скрипта перемещения

Сообщение AngryCat 14 фев 2019, 19:54

morpex182 писал(а):
AngryCat писал(а):Если задачу понял правильно, то вот код. Вешай на шарик, а на каждый круг компонент button, и в нем добавь событие, укажи в нем шарик, вызовите метод Going, а в аргумент запихни сам круг.

Синтаксис:
Используется csharp
Public Vector3 pos = Vector3.zero;



Public void Going(GameObject obj){
Pos = Obj.transform.position;
}
Void Update() {
 If(pos != Vector3.zero)
transform.position = Vector3.zero(transform.position, pos, 20 * Time.deltaTime);
}
 


не получилось пробовал!

Извини, я тупой :)
Public Vector3 pos = Vector3.zero;



Public void Going(GameObject obj){
Pos = Obj.transform.position;
}
Void Update() {
If(pos != Vector3.zero)
transform.position = new Vector3(transform.position, pos, 20 * Time.deltaTime);
}
AngryCat
UNец
 
Сообщения: 47
Зарегистрирован: 20 июл 2018, 22:29


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

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 17