Xarde

Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата:| Хм, мне бы пока научиться делать просто двигающиеся точки, с остальным сам разберусь | Тогда сделай так. Делаешь цикл на n итераций (чтобы не было бесконечности; лучше, конечно, бесконечный и засунуть его в поток, обрабатывая в главном нажатия кнопок и отрисовку). В цикле рассчитываешь новые координаты точек (чуть ниже объясню) и делаешь ProcessMessages для отрисовки. Перед циклом надо инициализировать список точек, их векторов (куда будут "лететь") и начальных координат вектора (откуда вылетает; нужно, если тебе не хочется иметь углы 45 градусов и приятнее видеть полёт под любым углом). Инициализацию нетрудно сделать используя генератор случайных чисел. Расчёт новых координат. Берём начальную координату вектора. Смотрим, что меньше отличается от текущей координаты точки (X или Y), подставляем его в простенькую формулу получения новых координат (по пропорции ищем Y для Х+1). Стираем старую точку, рисуем новую. Столкновения отслеживай сам. Скажу лишь, что при столкновении надо менять вектор и его начальную точку. Цитата: А недовольный я потому, что человеку (тебе) думать не хотелось. Ладно, не принимай близко к сердцу. Прошу прощения, ежели мои слова задели. |