Последовательное выполнение действий
|
|
lakoris | Дата: Понедельник, 23 Июня 2014, 00:35 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| На вход поступает массив с несколькими координатами(точками), нужно переместить объект по всем этим точкам(по очереди, как они находятся в массиве). Суть конкурса в том, что нельзя начинать перемещение на вторую точку, если объект не дошел до первой. Пример:
Код arr[0] = (1, 2, 5); arr[1] = (4, 2, 5); Сначала движемся в (1, 2, 5), после этого в (4, 2, 5);
Код foreach (string step in arr) { while(newPos != step) newPos = step; }
Тут я привел примерный код, как я понимаю выполнение этой последовательности. Суть в том, что for не должен переходить к след. элементу, пока объект не дошел до координат этого элемента. Двигается объект таким образом: Если newPos != (0, 0, 0) - двигаем в указанные координаты. Доехали - newPos = 0, 0, 0.
Возможно что-то я объяснил совсем непонятно. Если что - спрашивайте. Давайте обсуждать данный вопрос. Спасибо
Сообщение отредактировал lakoris - Понедельник, 23 Июня 2014, 00:35 |
|
| |
Saitei | Дата: Понедельник, 23 Июня 2014, 00:48 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| lakoris, псевдокод: Код если(иду != true) { ------если(массив не пустой) ------{ ------------иду = true; ------} } иначе { ------иду к(массив[индекс последнего элемента]); ------если(массив[индекс последнего элемента].x == x и массив[индекс последнего элемента].y == y и массив[индекс последнего элемента].z == z) ------{ ------------иду = false; ------------удалить массив[индекс последнего элемента]; ------} }
Сообщение отредактировал Saitei - Понедельник, 23 Июня 2014, 01:03 |
|
| |
morglodddd | Дата: Понедельник, 23 Июня 2014, 00:51 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Чего тут обсуждать?
Простейшая "покадровая" анимация или перемещение по графу
есть значение X - это позиция на прямой времени анимации. на этой же прямой отмечены точки (кадры) Yn. значит Y0 - это начало анимации, а Y? это конец (первый и последний кадр). к X прибавляется delta времени каждый кадр дальше берем отрезок прямой, на котором находится X, и представив его ( Yn X Yn+1 ) в виде процентов, легко вычисляем нужные координаты.
Не в виде кода, чтобы ТС начал учиться, а не только спрашивать готовый код.
Сообщение отредактировал morglodddd - Понедельник, 23 Июня 2014, 00:51 |
|
| |
lakoris | Дата: Понедельник, 23 Июня 2014, 02:22 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| Saitei, выглядит интересно! Через час вернусь и попробую такой вариант! Спасибо за столь быстрый ответ Добавлено (23.06.2014, 00:53) --------------------------------------------- morglodddd, спасибо! Уже год как готовый код не прошу Добавлено (23.06.2014, 02:22) --------------------------------------------- Saitei, Спасибо, помогло. Вопрос закрыт
|
|
| |
Saitei | Дата: Понедельник, 23 Июня 2014, 03:07 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| lakoris, рад, что помог) Успехов
|
|
| |