2016-12-29 2 views
-1

На моей форме находится элемент управления. То, что я хотел бы сделать, - это анимировать этот элемент управления, используя синусоидальную волну, чтобы сам контроль мог выглядеть как плавающий вверх, как воздушный шар. Я ужасен с математикой, которая, вероятно, не очень хороша в программировании, но задавалась вопросом, сможет ли кто-нибудь помочь мне разобраться, как я должен справиться с этим. Спасибо.Анимация элемента управления с использованием синусоидальной волны

ответ

1

В основном вы хотите использовать Греческую волну, чтобы генерировать приятные текущие значения для вас.

for(var i = 0 ; i <= 180 ; i ++){ 
    Console.WriteLine(Math.Sin(Math.PI * i/180)); 
} 

Вы можете настроить выше, чтобы удовлетворить ваши потребности ...

Если вам нужно только идти вверх (как воздушный шар), то вы можете остановиться на 90, а не 180.

for(var i = 0 ; i <= 90 ; i ++){ 
    Console.WriteLine(Math.Sin(Math.PI * i/180)); 
} 

Если вам нужно больше шагов (меньший приращение), вы можете сделать i в два раза и увеличить на половину или четверть.

for(double i = 0 ; i <= 90 ; i += .5){ 
    Console.WriteLine(Math.Sin(Math.PI * i/180)); 
} 

Все вышеперечисленное даст вам диапазон значений от 0 до 1. Вы можете умножить это значение на 100, если элемент управления требует целое ..