46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
|
|
1 | |
.NET 4.x Подбор времени для таймера для передвижение объекта за точное время09.12.2018, 14:39. Показов 973. Ответов 19
Метки нет (Все метки)
Здравствуйте. Как подобрать время таймера и скорость передвижение например pictorebox за точное время
Например дано 3 секунды за которое должен быть передвинут pictorebox Должен быть передвинут на 472 пикселя Не могу подобрать формулу. Не силен в матиматике. Просто при подборе формул получается дробное значение а ни таймер ни картинку нельзя передвигать на дробное значение. Ну если делать на неточное то хотя бы чтобы погрешность бы была небольшая. Мне нужно формулой чтобы можно было применить к любойму размеру. Тоесть размер формы можно менячть и размер картинки тоже будет менятся. И это не игра. Это для програмы анимацимя запуска нужна. Вообще хотелось бы анимацию подогнать под 60 кадров в секунду но если учитывать что таймер устроен так что 1000 = 1 секунда то значение получается дробным. Не знаю. Свой таймер чтоли пилить. Знать бы как. Заранее спасибо!
0
|
09.12.2018, 14:39 | |
Ответы с готовыми решениями:
19
"Будильник". Задается время включения звукового сигнала и интервал времени для таймера Реализовать алогритм с точностью до скенунды определяющий точное время для установки на клиенте Сохранение времени для таймера Реализовать работу таймера для обратного отсчета времени |
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|||||||||||
09.12.2018, 15:30 | 2 | ||||||||||
Анимация — это функция зависимости значения от времени.
Бросьте обычный таймер на форму и пусть он себе тикает с интервалом 16 мс. С запуском таймера запускайте и Stopwatch, чтобы он давал более точное значение прошедшего времени — на его основе и вычисляйте текущее значение/ Ниже — пример простой линейной анимации (метод TimerElapsed привяжите к событию Tick таймера):
Ниже — пример квадратичного на старте и финише:
0
|
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
|
|
09.12.2018, 15:51 [ТС] | 3 |
Можете написать что из себя представляют значения Elapsed и duration
и что за 482? На сколько пикселей передвинуть нужно? Но у меня 472. Да и буду передвигать 2 картинки. Собственно картинки выступают в роли шторок сцены и раздвигаются как двери лифта.
0
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
09.12.2018, 15:56 | 4 |
Первое — количество времени, прошедшее с начала анимации.
Второе — время, за которое анимация значения должна завершиться. Значение, взятое с потолка. Измените на 472 — не стесняйтесь играться с примером. Не проблема — в обработчик таймера добавьте второй вызов Animate для второй картинки с нужными для нее значениями.
0
|
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
|
|
09.12.2018, 17:20 [ТС] | 5 |
1 Картинка размещается на 0 и идет к - 472 вторая картинка размещается на 480 и идет к (480+472) это по оси координат x по y неизменно
0
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
||||||
09.12.2018, 17:31 | 6 | |||||
Пропишите соответствующие вызовы в TimerElapsed:
0
|
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
|
|
09.12.2018, 17:47 [ТС] | 7 |
а start я так пологаю с какой позиции начинается?
0
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
09.12.2018, 17:49 | 8 |
С переданной в виде аргумента при вызове метода.
В вашем случае — 0 и 480 для первой и второй картинки соответственно.
0
|
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
|
|
09.12.2018, 17:54 [ТС] | 9 |
А как вообще определяется когда нужно прекратить анимацию?
0
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
09.12.2018, 18:12 | 10 |
Alexandr_7, значением переменной duration.
В примере выше - 3 секунды.
0
|
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
|
|
09.12.2018, 18:14 [ТС] | 11 |
Ну там полдучается цекличность? МИне цикличность не нужна. Только 1 раз при старте ну и возможнри закрытии в обраном направлении.
0
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
09.12.2018, 19:03 | 12 |
Господи, а что вам мешает запустить этот код и проверить лично?
Или вы боитесь, что я вам диск отформатирую? Не бойтесь, не отформатирую.
0
|
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
|
||||||
09.12.2018, 19:19 [ТС] | 13 | |||||
0
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
09.12.2018, 19:29 | 14 |
0
|
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
|
|
09.12.2018, 19:30 [ТС] | 15 |
0
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
09.12.2018, 21:37 | 16 |
Alexandr_7, ну у вас там какие-то условия и прочие махинации - я понятия не имею что они делают.
Простой пример во втором сообщении замечательно работает.
0
|
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
|
|
09.12.2018, 22:50 [ТС] | 17 |
IDAnim это индитефикатор анимации
0 анимация это ожидание когда закончится стартовый звук. Потом к слову и изменяется интервал таймера на 16 и вызывается timeline
0
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
09.12.2018, 23:05 | 18 |
Тогда не понятна логика работы переменной _LengthSecStartSoundStream.
Судя по имени и использованию — это время в секундах. Почему вы ее тогда уменьшаете на единицу каждые 16мс, которые тикает таймер? Если у вас ее значение, скажем, 3 секунды, то таймер тикнет всего 3 раза до того, как значение этой переменной стане равно нулю и вы остановите анимацию. То есть, получите анимации на 48 миллисекунд.
0
|
6451 / 4053 / 1598
Регистрация: 09.05.2015
Сообщений: 9,480
|
|
09.12.2018, 23:19 | 19 |
Reset() это не то же самое что Restart(). Restart() это Reset() + Start().
https://referencesource.micros... tch.cs,109
0
|
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
|
|
09.12.2018, 23:20 [ТС] | 20 |
Ну да время звукового потока в секундах
Стартового звукового потока. Ой блин. Вот и промашка. Мда. Ее надо уменьшать каждую секунду. А при 2 вхождении я использую интервал 16 мс.
0
|
09.12.2018, 23:20 | |
09.12.2018, 23:20 | |
Помогаю со студенческими работами здесь
20
Пример для записи времени таймера в ячейку подключенной БД. Фотофиниш Определить по времени установки пирога в духовку время, когда будет подходящее время для его извлечения Точное срабатывание таймера в начале минуты Логическая функцая для проверки, предшествует ли время t1 времени t2 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |