• 0

Вопрос

Здравствуйте, недавно приступил к изучению обезьянки, тк необходимо реализовать следующее: есть поле датчиков 30 штук, расположенных квадратом. Над ними проводят объект который меняет их магнитное поле, всё это записывается в двухмерный массив(т.е. в одной строчке(один датчик) будут 0 пока над датчиком не пролетит объект), необходимо визуализировать этот процесс. Решил использовать Plane, на которой закрепил 30 Cube(Рис 1). По задумке столбик должен расти при изменении значения в массиве: 

float mas[3][3] = {{1,0,0},{0,1,0},{0,0,1}};

void __fastcall TForm3D1::Form3DCreate(TObject *Sender)
{
	FloatAnimation1->Parent = Cube1;
	FloatAnimation1->PropertyName = "Scale.Y";
	//FloatAnimation1->StopValue = 1;
	FloatAnimation1->Duration = 1;
	FloatAnimation1->AnimationType = TAnimationType::atIn;
	FloatAnimation1->Interpolation = TInterpolationType::itLinear;
	FloatAnimation1->StartFromCurrent = true;

	FloatAnimation2->Parent = Cube2;
	FloatAnimation2->PropertyName = "Scale.Y";
	//FloatAnimation2->StopValue = 1;
	FloatAnimation2->Duration = 1;
	FloatAnimation2->AnimationType = TAnimationType::atIn;
	FloatAnimation2->Interpolation = TInterpolationType::itLinear;
	FloatAnimation2->StartFromCurrent = true;

	FloatAnimation3->Parent = Cube3;
	FloatAnimation3->PropertyName = "Scale.Y";
	//FloatAnimation3->StopValue = 1;
	FloatAnimation3->Duration = 1;
	FloatAnimation3->AnimationType = TAnimationType::atIn;
	FloatAnimation3->Interpolation = TInterpolationType::itLinear;
	FloatAnimation3->StartFromCurrent = true;
}
void __fastcall TForm3D1::Button1Click(TObject *Sender)
{
        for (int i = 0; i < 3; i++)
		{
			Form3D1->resizecube(i);
		} 
}
void __fastcall TForm3D1::resizecube(int a)
{
	FloatAnimation1->StopValue =  mas[a][0];
	FloatAnimation1->Start();

	FloatAnimation2->StopValue =  mas[a][1];
	FloatAnimation2->Start();

	FloatAnimation3->StopValue =  mas[a][2];
	FloatAnimation3->Start();

	// ShowMessage("");
}


Сделал пример для простого массива. Проблема в том, что если закоментить  ShowMessage(""); то отображается только последняя итерация. Подскажите как сделать так чтобы итерации выводились последовательно, друг за другом. Спасибо 

post-2018-0-26455800-1453981189_thumb.pn

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

8 ответов на этот вопрос

  • 0

Вот. Только там много дополнительного мусора, вроде создания потока. Пробовал различные варианты решить проблему.

Monki3d.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Без треда у меня работает.

Какая версия RAD Studio? (у меня XE4)

zairkz понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

XE10, Seattle

Не подскажете как можно решить данную проблему на моей версии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

 

XE10, Seattle

Не подскажете как можно решить данную проблему на моей версии?

 

не нужно строить костыли, установите последнюю стабильную версию студии

zairkz понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

XE10, Seattle

Поставил XE10, проблема абсолютно та же. Плюс не могу найти в 10-ке FireMonkey consolapplication, только метрополис. Помогите решить данную проблему. Запускаю проект из XE4 в XE10, 3D Shapes вкладка есть, но проблема та же, если ShowMessage(" ") не закоментить, отображается только последняя итерация цикла.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: denprox
      Доброго времени суток! Есть у кого ни будь пример того, как в RunTime нарисовать путь, по которому потом сможет двигаться объект ? 
      Я смог найти только видео:
      Tutorial: TPathAnimation in FireMonkey XE6
       
    • Автор: Дмитрий Потапов
      Так, допустим, создал красивый стиль, но мало его просто нарисовать, программы могут обладать красивыми анимациями, вот в чем собственно вопрос:
      Как сделать анимированную кнопку например?
      Четыре состояния
      1. обычное 2. выделенное 3. нажатое 4. заблокированное (например на этом компоненте как сделать хотя бы плавное изменение цвета, а еще лучше попробовать сделать увеличение текста на кнопке)
    • Автор: 97mik
      Как сделать переход при выборе пункта в ListBox?
      И можно ли при этом будет вернутся свайпом слева направо?
       
    • Автор: DirtyBorov
      За ранее прошу простить если не в ту ветку. Вопрос двоякий и анимация и жесты.
      Нужно реализовать анимацию, таким образом, что бы она постепенно останавливалась. Вот например есть 10 картинок, надо их пальцем прокручивать. Но так, чтоб они постепенно останавливались. Причем картинки небольшие, сразу на экране могут быть 3 картинки.  Как бы лента из картинок. Картинок может быть много 100+. Стоит ли копать в сторону анимации? Не будет ли тормозить на слабеньком телефоне?
      Посоветуйте куда копать - анимация, Box2D?
    • Автор: brunnengi
      Здравствуйте.
      Где можно посмотреть пример работы компонента TBitmapListAnimation?
    • Автор: brunnengi
      Здравствуйте.
      Создал пяти секундный анимированный эффект в Abobe After Effects. 
      Сохранил в PNG формате с прозрачностью, по кадрам. Всего вышло 120 кадров.
      Через что можно создать в FMX Desktop приложение анимацию из последовательности этих кадров/файлов?
      Подскажите пожалуйста.
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу