Перейти к содержанию
Fire Monkey от А до Я
  • 0

FloatAnomation в цикле


Kantrobac

Вопрос

Здравствуйте, недавно приступил к изучению обезьянки, тк необходимо реализовать следующее: есть поле датчиков 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

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Модераторы

 

XE10, Seattle

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

 

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

Ссылка на комментарий
  • 0

XE10, Seattle

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

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...