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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

ну или как нибудь по другому организовать передвижение?? я просто совсем недавно начал копаться в unity поэтому не знаю как правильнее будет
morpex182
UNец
 
Сообщения: 6
Зарегистрирован: 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
Старожил
 
Сообщения: 545
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

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

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

transform.position = Vector3.zero(transform.position, pos, 20 * Time.deltaTime);
ШОЗАНАХ O_o
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 5164
Зарегистрирован: 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ец
 
Сообщения: 6
Зарегистрирован: 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
Старожил
 
Сообщения: 545
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

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

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

AngryCat писал(а):
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);
}

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

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

Сообщение Friend123 17 фев 2019, 17:05

Да йомана, с 12 февраля уже можно было обсмотреться и ютуб, и обчитаться на форумах... Люди, ну что ж вы такие!
Аватара пользователя
Friend123
Старожил
 
Сообщения: 583
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

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

Сообщение DimaJoke 17 фев 2019, 21:00

Ну тип при нажатии ЛКМ пускаешь луч в позицию курсора. Смотрим, тот ли это объект, можно сделать с помощью тэгов. Проверяем позицию зелёной фигни, если она именно на нужном для нас шаре(центральном)(проверяем по transform.position и позиции того шара) то идём к нужному нам шару. Если он не на центральном шаре то идём на центральный шар, перед этим сохранить нужную позицию не забудь! Теперь снова проверка, на центральном ли он шаре, если так.. то вперёд и с песней на нужный нам шар!
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 280
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
Skype: dima34586
  • Сайт

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

Сообщение Friend123 18 фев 2019, 00:26

DimaJoke писал(а):Ну тип при нажатии ЛКМ пускаешь луч в позицию курсора. Смотрим, тот ли это объект, можно сделать с помощью тэгов. Проверяем позицию зелёной фигни, если она именно на нужном для нас шаре(центральном)(проверяем по transform.position и позиции того шара) то идём к нужному нам шару. Если он не на центральном шаре то идём на центральный шар, перед этим сохранить нужную позицию не забудь! Теперь снова проверка, на центральном ли он шаре, если так.. то вперёд и с песней на нужный нам шар!

Я всё описал до этого в более пресных красках. Если человек не хочет понимать, ему тут не место, как бы грубо это не звучало, мы не запад - тут жопы не лижут
Аватара пользователя
Friend123
Старожил
 
Сообщения: 583
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

След.

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

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

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