Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
81 / 25 / 19
Регистрация: 27.10.2014
Сообщений: 420
1

Управление состоянием кнопки с помощью таймера

09.06.2015, 19:36. Показов 1872. Ответов 4
Метки нет (Все метки)

Ситуация:
1. при нажатии на кнопку, она становится красной, через 10 сек приходит в исходное состояние;
2. при нажатии на кнопку, она начинает мигать красным с интервалом в 3 сек, через 21 сек приходит в исходное состояние

Я так понял нужно использовать таймер, но таковым никогда не пользовался. Нужно описать интервал в 10 сек за который кнопка будет красной.

vs 2013 использую sfml библиотеки, пока больше ничего

нужно для игры, использую sfml библиотеки

тоесть допустим

C++
1
button1.sprite1.setColor(sf::Color::Red);
и вот нужно чтобы эта строка выполнялась только 10 секунд
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2015, 19:36
Ответы с готовыми решениями:

STM32F4: управление реле с помощью таймера
При определенных условиях необходимо включать/выключать реле (через транзистор), т.е. устанавливать...

Управление состоянием объекта
Например ситуация: при столкновении объектов один меняет цвет и через 10 секунд меняет на другой...

Управление состоянием checkBox'а
Здравствуйте.Подскажите пожалуйста как сделать такой момент: Имеется 2 checkbox,как сделать так...

Управление состоянием триггера из храномой процедуры
Всем здрасьте, пытаюсь решить такую задачу: На таблицу есть два триггера отрабатывают на before...

4
Заблокирован
09.06.2015, 20:48 2
Лучший ответ Сообщение было отмечено valeriy007 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <ctime>
int main ()
{
  time_t seconds ,seconds1;
  seconds = time (NULL); // получить текущую дату, выраженную в секундах
  do 
{
seconds1 = time (NULL);
button1.sprite1.setColor(sf::Color::Red);
} while ((seconds1-seconds)<10)
  return 0;
}
0
81 / 25 / 19
Регистрация: 27.10.2014
Сообщений: 420
09.06.2015, 22:53  [ТС] 3
Как сделать тоже самое только средствами sfml библиотеки?

C++
1
2
3
4
5
6
7
8
9
sf::Clock timr1, timr2;
int timer1 = timr1.getElapsedTime().asSeconds(), timer2 = timr2.getElapsedTime().asSeconds();
            timr1.restart();
            do
            {               
                timr2.restart();
                p1.picture.setColor(sf::Color::Green);
 
            } while ((timer2 - timer1) <= 10);
в библиотеке sfml всего три дня) потому не очень разбираюсь в ней.
Вот такое написал, теперь при нажатии на кнопку программа зависает, то есть зацикливает, думал это из-за того что restart в цикле.
Попробовал так:

C++
1
2
3
4
5
6
7
sf::Clock timr1;
int timer1 = timr1.getElapsedTime().asSeconds();
            timr1.restart();
            do
            {               
                p1.picture.setColor(sf::Color::Green);
            } while (timer1 <= 10);
эффект тот-же

Добавлено через 26 минут
еще один вариант, но результат не поменялся(
C++
1
2
3
4
5
6
7
8
9
10
11
12
sf::Clock timer;
            sf::Time elp = timer.restart();
 
            while (elp.asSeconds() < 20)
            {
                elp = timer.getElapsedTime();
 
                if (elp.asSeconds() < 10)
                    p1.picture.setColor(sf::Color::Green);
                if (elp.asSeconds() > 10)
                    p1.picture.setColor(sf::Color::Black);
            }
0
Заблокирован
14.06.2015, 18:43 4
ctime это же стандартная библиотека зачем обязительно sfml?
0
81 / 25 / 19
Регистрация: 27.10.2014
Сообщений: 420
14.06.2015, 19:24  [ТС] 5
Цитата Сообщение от askurandrio Посмотреть сообщение
ctime это же стандартная библиотека зачем обязительно sfml?
так как названия функций пересекаются в sfml и ctime
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2015, 19:24

Управление состоянием дома через интернет
Привет. Жаль нету фотика щас, так бы показал что получилось. Вообщем на atmega16 сделал простую...

Динамическое управление состоянием элементов меню в Windows приложении
Уважаемые присутствующие :help:! Если кто может, подскажите, в каком направлении нужно двигаться в...

Следить за состоянием цепи с помощью транзистора?
Всем хай!У меня есть только базовые знания по электротехнике, так что не ругайте ( и извините...

ЧЯДНТ?! Управление шаговым двигателем с таймера
Собственно, код http://pastebin.com/kWQNwEp9 Вроде бы, все просто - таймер тикает, дрыгатель...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru