1 / 1 / 0
Регистрация: 25.11.2013
Сообщений: 11
|
|
1 | |
Анимация квадрата26.11.2013, 12:11. Показов 3721. Ответов 15
Метки нет (Все метки)
Доброго времени суток, уважаемые)
возник вопрос... честно, даже стыдно немного, но напал ступор, как сделать простейшую анимацию пульсирующего квадрата т.е. необходимо ввести значение размера квадрата и значение шага таймера, нажать кнопку пуск и квадрат с заданного размера уменьшается до точки, потом снова увеличивается до заданного размера до тех пор, пока не нажмешь кнопку стоп для реализации самого квадрата, чтобы не париться, взял объект типа Shape ставлю таймер, в таймере задаю две переменные: одна - минимальный размер сторон, т.е. единица, вторая - максимальный размер, который в эдите пишет пользователь понимаю, что нужен цикл, только вот как раз ступор напал, как сделать так, чтобы, уменьшив значение максимума до минимума, программа начала работать по другому циклу и увеличивать это значение снова до максимума? если возможно, то хотя бы пример черновой можно, ну или принцип на словах, как это сделать а то правда что-т не ожидал в этом сложности, а тут на тебе... заранее, огромнейшее спасибо тому или тем, кто объяснит бестолковому студенту факультета ВТ то, что он должен был узнать еще на 2-м курсе)
0
|
26.11.2013, 12:11 | |
Ответы с готовыми решениями:
15
Анимация движения изображения квадрата по графику на Canvas Координаты квадрата чертеж квадрата Анимация. Два квадрата двигаются в противоположном направлении и отталкиваются от стенок синего квадрата |
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
|
|
26.11.2013, 12:27 | 2 |
ну будет у тебя 1 переменная, которая будет задавать размер грани.
И по таймеру ее изменяй, тоесть либо вычитай от нее, либо прибавляй, число которое ты будешь вычитать или прибавлять и задаст скорость твоей анимации. Определись с размерами квадрата, т.е. его минимальный и максимальный размер. И через if применяй другой цикл. Добавлено через 3 минуты так как с ним не работал, переменных может быть больше.
0
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
26.11.2013, 12:30 | 3 |
mrkormaks, выложите код, пожалуйста.
0
|
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
|
|
26.11.2013, 12:30 | 4 |
Самый простой и глупый способ быстро все это сделать через свойства объекта
Height Integer Высота объекта Width Integer Ширина объекта
0
|
Практикантроп
4838 / 2724 / 532
Регистрация: 23.09.2011
Сообщений: 5,791
|
||||||
26.11.2013, 12:43 | 5 | |||||
Можно менять знак приращения в крайних точках__
1
|
1 / 1 / 0
Регистрация: 25.11.2013
Сообщений: 11
|
||||||
26.11.2013, 13:18 [ТС] | 6 | |||||
это, судя по всему в корне неверно, да?
0
|
Практикантроп
4838 / 2724 / 532
Регистрация: 23.09.2011
Сообщений: 5,791
|
|
26.11.2013, 13:22 | 7 |
0
|
1 / 1 / 0
Регистрация: 25.11.2013
Сообщений: 11
|
|
26.11.2013, 13:24 [ТС] | 8 |
да в том-то и дело, что прога виснет, хотя ошибки все исправил
и кажется по логике все верно... но не пашет(
0
|
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
|
||||||
26.11.2013, 13:28 | 9 | |||||
0
|
Практикантроп
4838 / 2724 / 532
Регистрация: 23.09.2011
Сообщений: 5,791
|
|
26.11.2013, 13:31 | 10 |
Да логикой тут и не пахнет...
Вам нужно в обработчике таймера один шажок делать по изменению размеров, а не циклы запускать. Я вам написал рабочий пример; если нужно, чтоб квадрат не сдвигался, добавьте Shape1->Left -= delta/2.
0
|
1 / 1 / 0
Регистрация: 25.11.2013
Сообщений: 11
|
|
26.11.2013, 13:40 [ТС] | 11 |
что-то не то все равно >_<
Добавлено через 1 минуту nick42, понял вроде как работает, но он всего лишь один раз изменяет размер, а как его уменьшить до точки?
0
|
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
|
||||||
26.11.2013, 13:42 | 12 | |||||
Измени значение этой переменной на отрицательное
1
|
1 / 1 / 0
Регистрация: 25.11.2013
Сообщений: 11
|
|
26.11.2013, 13:45 [ТС] | 13 |
всем спасибо))) заработало))))))
0
|
Практикантроп
4838 / 2724 / 532
Регистрация: 23.09.2011
Сообщений: 5,791
|
|
26.11.2013, 13:49 | 14 |
ну и хорошо
0
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
||||||
26.11.2013, 14:16 | 15 | |||||
0
|
88 / 74 / 10
Регистрация: 26.07.2013
Сообщений: 545
|
|
28.11.2013, 16:33 | 16 |
- Вот я попробовал и немного "облагородил". Можете попробовать и Вы!
0
|
28.11.2013, 16:33 | |
28.11.2013, 16:33 | |
Помогаю со студенческими работами здесь
16
Анимация квадрата, вращающегося по центру экрана Площадь квадрата равна S. Вычислить сторону квадрата а, диагональ d и площадь S1 описанного около этого квадрата круга Площадь квадрата равна S. Вычислить сторону квадрата а, диагональ d и площадь S1 описанного около этого квадрата круга В центре каждого квадрата матрицы поместить сумму остальных элементов квадрата Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |