Nico-izo
16.08.2011 11:54 qutIM/Jreen
Запилил НЕВЕРОЯТНО тупое рисование вращающихся точек. Ну бля, 3 цикла for, один для инициализации 50 отдельных (!) точек, ещё один для сдвига каждой на разные промежутки и ещё один (АХТУНГ! МОЗГОПАСНОСТЕ!) для закрашивания всех точек при событии draw. Но, что интересно, не тормозит. пиздец.
Recommended by:
@238328
Ну ты сам понял. ;)
А по другому я не знаю как, знатоков Libcanvas я среди вас не вижу :(
Так объясни, что ты хочешь. Виртуальная окружность и по ней бегут три точки?
Дык нарисовал, запомнил цвет точки. Высчитал новые координаты, стёр старую точку, восстановил цвет, нарисовал в новом месте, запомнил цвет.
Координаты считаются через синус/косинус.
круг, вокруг вращаются точки (50-100-200).
Вполне годный туториал есть в http://billmill.org/static/canvastutoria... надеюсь, найти спеки на апи ты сможешь.
То же самое, лол.
Ты на паскале часы не рисовал разве?
если и рисовал, до давно это было
А вот вспомни, как ты делал. Вообще ничего сложного, через синус/косинус радиальные координаты отлично преобразуются в линейные, ну а зажечь/погасить — очевидная вещь — либо XORить, либо дампить.
Для полного счастья можно ещё сглаживание сделать, но это сложнее.
эээээээ
боюсь, мы говорим о разных вещах. Мне главное оптимизировать этот говнокод, ибо он работает.
Ну а что ты тогда хочешь от мифических "спецов"?
Запости сабж куда-нить, будем детальнее смотреть.
Точки у тя в массиве? Сдвиг делаешь как?
ship%number%.rotate
точнее center.rotate, и это в цикле for
Стоп, что представляет собой точка? оО
бля, это получается каждый кадр оно рисует 50 точек %()
она представляет собой двухпиксельный circle, который я для простоты зову точкой, ибо центр жтой точки я двигаю
Это-то нормально.
Любой кадр — это отрисовка всей дельты с предыдущей картинкой и потом отображение его.
/16 — Окей. А rotate ты чему делаешь?
Центру каждой "точки" вокруг центра круга.
Ну ок, я бы честно пересчитывал координаты — дольше писать, но работает быстрее.
А так цикл calculate-hide-show-wait обычен.
Зачем точку вращать, лол? Что значит "вращать"? Вокруг внешнего центра что ли? Не хватат описания сцены.
хм, ну я их и, фактически, пересчитываю. Хотя не, я просто плюсую кусок к существующим. Ну в общем, оно страшно ест ресурсы.
Плюсуешь? добавляешь новый объект?
Или таки меняешь ему координаты?
делаю rotate вокруг центра. а уж как я делаю rotate это вообще песня, стыренная из какого-то топика про часы на canvas.
Блджад.
Ты изменяешь координаты объекта ил создаёшь новый?
изменяю, изменяю.
И да, не песня там, а формула вида x = sin (degree) * diam
А это... [x0 + sin(a); y0 + cos(a)] не подходит что ли?
По ходу, человек не до конца прочитал скопащенный код.
Я всё жду, пока опубликуют исходники, а то я вроде проблемы не вижу, хоят если память естся (едва ли это утечки), они явно есть.
скопипасченого кода 1 строка, честно-честно.
ладно, попробую сам что-нибудь сделать.
Не хочешь код показать-то?
А то трудно ругать заочно.
"Поругайте машину. Она такая красненькая, в дверь мятая". — ну так логично, блджад, в дверь мятая. Что я ещё-то скажу?