Анимация "салют"
Помогите запрограммировать салют, вот как на картинке:
|
Ответ: Анимация "салют"
Попробывал переписать готовый код с байсика, но устественно ничего не из этого не вышло:
|
Ответ: Анимация "салют"
Ну а что тут создавать?
Делаешь массив точек, у каждой из которых есть параметры x, y и угол поворота. Затем создаешь в случайно выбранной точке экрана штук эдак 50 точек, и даешь каждой случайный угол поворота. Затем вспоминаешь алгебру, и двигаешь циклически точки. ??? PROFIT!!! |
Ответ: Анимация "салют"
да это же... вектора!
|
Ответ: Анимация "салют"
Цитата:
достаточно сделать массив "частиц", где у каждой имеем позицию/скорость, позицию задаём в одной точке, скорость рандомную (в адекватных пределах), дальше обрабатываем массив - меняем позицию по имеющейся скорости+гравитации, затухаем скорость. это подходит для точек, чтобы сделать салют из линий, можно хранить предыдущую позицию каждой частицы и тупо рисовать линию из предыдущей в новую. если необходима одинаковая длина линий, то имея эти же две позиции, можно найти нормализованный вектор от одной к другой, через atan2 вычислить угол, повернуть точки линии через sin/cos им. |
Ответ: Анимация "салют"
Эмм все так описывают как будто это дважды два... ну так что код-то не покажете как составить?
|
Ответ: Анимация "салют"
А для чего голова нужна? Чтобы думать!
Голова+MidletPascalHelp+разжеванный алгоритм+руки=счастие. Если Вас будут вести за ручку, Вы ничему не научитесь. Знать<>уметь. |
Ответ: Анимация "салют"
Цитата:
Я с basic`ом более менее лучше дружу, чем с тем же MP... |
Ответ: Анимация "салют"
Кстати нашел код под FreeBasic
Код:
Dim As Short x(50), y(50), xv(50), yv(50), ox(50), oy(50) Код:
Program explosions; |
Ответ: Анимация "салют"
Antirock, Да я этот код и переделывал, а ошибка в том, что цикл должен начинаться с 0 до 49, как и массив.
|
Ответ: Анимация "салют"
Надо бы сам оригинальный код затестить, может он нерабочий :-D
Опять не пашет, полностью переписал под MP. Ввел новые переменные-массивы x2 и y2 для хранения координат точек, так как в оригинальном коде идет такая схема Код:
line -(x,y), цвет |
Ответ: Анимация "салют"
Надо бы ещё randomize перед каждым random.
"Ввел новые переменные-массивы x2 и y2 " получается, что рисуется точка: drawline(x2[i],y2[i],x[i]+tx,y[i]+ty); |
Ответ: Анимация "салют"
Держи =) Дальше сам, а то мозги поплыли уже. Вроде легкий код, но эти массивы... Написал с нуля, сам.
|
Ответ: Анимация "салют"
Собрался с мозгами доделал код:
Немного подправить код, как нужно и все. |
Ответ: Анимация "салют"
:4to: ОГРОМНОЕ СПАСИБО!!!
|
Часовой пояс GMT +4, время: 13:25. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot