Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Антон219
0 / 0 / 0
Регистрация: 09.06.2013
Сообщений: 72
0

Что использовать вместо таймера для множества точек, жизнь которых - 5 секунд

25.06.2014, 23:32. Просмотров 850. Ответов 4
Метки (Все метки)

Привет, народ, подскажите пожалуйста, как принято поступать в следующем случае:
Имеется много разных объектов, они умеют делать много вещей - двигаться, появляться и исчезать с определенной частотой и др. вещи, зависящие от таймера. Как такое реализовать?
Пример: каждый раз при нажатии кнопки на клавиатуре - в форме появляется точка. Каждая точка живет, допустим, 5 секунд, а затем исчезает. Не буду же я для каждой точки свой таймер создавать?! Это и невозможно, там ведь ограничено число таймеров. Интересен именно наиболее принятый способ, сам я могу предложить нечто такое:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SetTimer(hwnd, 1, 1000, NULL);
..........................................
switch(msg)
    {   
case WM_KEYDOWN:
        MyPoint* P = new MyPoint;
        MyVector.push_back(P);
        break;
case WM_TIMER:
        for (int i = 0; i < MyVector.size(); i++)
             {
                   P->counter += 1;
                   if(P->counter >= 5)
                   {
                         delete MyVector[i];
                         MyVector.erase(MyVector.begin() + i);
                   }
             }
        break;
Может и ошибся где, но суть, думаю передал. Так делают?

Вернуться к обсуждению:
Что использовать вместо таймера для множества точек, жизнь которых - 5 секунд
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2014, 23:32
Готовые ответы и решения:

Верно ли, что для любой пары точек из множества все оставшиеся точки лежат по одну сторону от прямой, проведённой через эту пару
Даны действительные числа x1,....x15, y1,....y15, которые рассматриваются как...

Из множества точек на плоскости найти точки, образующие параллелограмм с наибольшим количеством точек внутри
&quot;Даны N точек на плоскости. Найти среди них точки являющиеся вершинами фигуры,...

Выбрать из точек множества три таких, чтобы в получившийся треугольник влезо наибольшее количество точек
Помогите пожалуйста....Дана задача: Из заданного множества точек на плоскости...

Рекурсия вместо трёх циклов for для генерирования точек внутри сферы
нужно переделать код. Вместо 3 циклов использовать рекурсию. /* * File: ...

Изменить способ выделения памяти для массива (вместо new использовать malloc)
#include &quot;stdafx.h&quot; #include &quot;stdlib.h&quot; struct str_Team{ char Komanda;...

4
Другие темы раздела
C++ Как можно записать код в более компактном виде? http://www.cyberforum.ru/cpp-beginners/thread1217187.html
Вывести столбиком след. числа 3,2, 3,2, 3,3, 3,3,........3,9 у меня вышло довольно размазан: #include "iostream" #include "conio.h" using namespace std; int main() { int a; a=2;
C++ Как выделить память для двумерного массива указателей в куче? Есть массив вида: unsigned char *ddtКак выделить память для такого массива в куче? Должен получиться двумерный массив указателей. Сами указатели инициализируются в отдельной функции. При этом все... http://www.cyberforum.ru/cpp-beginners/thread1217161.html
C++ Создайте АТД class, в области данных которого содержится динамический массив
Задание: Создайте АТД class в области данных которого содержится динамический массив типа float и целое число (номер максимального элемента в массиве). Среди методов класса создайте конструкторы и...
C++ Из файла считывается массив чисел. Размер массива неизвестен
Помогите, пожалуйста, додумать задачу! Определите максимум (М1) и минимум (М2) в массиве. Выведите в файл среднее геометрическое положительных четных чисел, расположенных в массиве между М1 и М2....
C++ Почему не работает программа? http://www.cyberforum.ru/cpp-beginners/thread1217135.html
//--------------------------------------------------------------------------- #include <stdio.h> #include <conio.h> #include <vcl.h> #pragma hdrstop ...
C++ Программа "Тест по истории" Помогите написать тест по истории. На экране появляется вопрос и 4 варианта ответа на этот вопрос Вопросы появляются последовательно В процессе теста программа определяет количество баллов за... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru