28 апреля 2011

Завел репозиторий для демонстрационных программ!


Буквально на днях завел репозиторий для демонстрационных программ.
Зачем? Дело в том, что Google предоставляет огромное количество свободного места, прямые ссылки, быстрый svn, открытый код - это все по мне!
Так что, немного подумав, я открыл репо, залил пяток последних демок, начал мастерить следующие...
Как всегда все просто:
  • в downloads буду выкладывать "снимки" демок, указывая ревизию и название
  • работа с папками репозитория аналогична работе с glVehicles, о которой можно прочитать здесь
  • при CheckOut'е указываем адрес https://lampogolovii.googlecode.com/svn/trunk
  • описание новых возможностей и демок будет появляться здесь, в этом журнале, чтобы ничего никогда не пропустить!
  • если что не запускается/не компилируется/не устанавливается - пишите, будем разбираться!

25 апреля 2011

GUI: Панелька из 9ти кусочков...

Недавно один из форумчан glscene.ru спрашивал о способе отображения панельки с изменяемой шириной. Простым масштабированием (Scale) спрайта правильного эффекта не всегда можно добиться. Например, нам нужны закругленные края или небольшая тень от панельки. При масштабировании эти эффекты безобразно увеличатся и будут портить всю картинку. Как же быть в случае, если заранее ширина или высота такой панельки неизвестна и просто нарисовать png-шку нужного размеры мы не сможем? На ум приходит собирать итоговую картинку из нескольких элементов - углы, края и серединка. Вот такую панельку, состоящую из 9ти кусочков мы и будем сегодня делать на GlScene.

12 апреля 2011

Tween-инг в Delphi, первые шаги

Вот и пришло время выложить демонстрацию tween'инга в Delphi! Если кто забыл, то я как раз недавно озаботился вопросом плавной анимации движения/поворотов/альфы и всего прочего. И даже начал кое-что делать в этом направлении. Конечно, пока работа над этим не закончена, но уже есть что показать. Поэтому сегодня постараюсь описать текущий принцип работы tween-класса. Надеюсь появятся вопросы и предложения... а все знают, что лучше дополнять код в процессе работы, а не переписывать потом все с нуля. Вперед, друзья!

11 апреля 2011

Какой сейчас год?!

Напишу коротенькое сообщение, оторванное от программирования.
Дело в том, что недавно я узнал одну вещь, которая даже не вещь. А как бы факт, который я не знал. Хм... как бы объяснить?! Зайду немного издалека: есть различная информация, которая с легкостью затирается и покрывается толстым слоем пыли за годы, прошедшие с момента появления этой самой информации, что теперь и не разглядеть, что же было на самом деле. Ну так вот...

03 апреля 2011

Жизнь без скроллбаров

Начну с того, что меня всегда удивляет использование в демках и конкурсных работах стандартного vcl. Как же так? Мы рисуем сцену с большим количеством объектов, красивым фоном, эффектами, физически взаимодействующими телами, с помощью графических движков (вроде GlScene, HGE и других), а элементарные кнопки, чекбоксы оставляем на отрисовку устаревающему vcl? Думаю дело в том, что красивый, простой и работающий гуи под GlScene - большая редкость, и поэтому многие просто вставляют в игру стандартные кнопки - кинуть на форму TButton умеют все. С другой стороны, возможно, те, кто начинают делать свой графический гуи, хотят сразу построить навороченный интерфейс с панелями, формами, выводом тысяч символов текста и т.д. Надеюсь, это рабочий подход к программированию, но не мой. Мне всегда кажется, что нужно начинать с чего-то маленького, тогда сразу станут видимыми границы, которых хочется достичь. В общем, я буду создавать, описывать и выкладывать в своем журнале простые элементы гуи, чтобы ими можно было воспользоваться в любую минуту. Обычно одним из самых неприятных моментов в гуи являются скроллбары, поэтому поступим хитро и попробуем организовать прокрутку длинного списка без скроллбаров вообще. Собственно, отсюда и заголовок сообщения - "Жизнь без скроллбаров", это возможно, просто и приятно. Приступим!

01 апреля 2011

Чужой код или "перепроверяй за камрадом"

Расскажу одну историю, которая приключилась со мной недавно. Если говорить "с начала", тогда стоит упомянуть, что недавно я познакомился с tween'ингом во flash. Понравились удобство, красота и прозрачность исполнения. Захотелось чего-то подобного в Delphi. Мне подсказали, что существует вот этот проект, в котором добрый человек как раз и реализовал анимацию между заданными значениями. Супер! О чем еще мечтать?! Но меня оттолкнули следующие вещи:
  • меняются только integer-параметры
  • событие на изменение параметра (хочется, чтобы оно само все меняло)
  • все работает за счет срабатывания стандартного таймера, нужно все перебросить в Update игрового цикла
  • нужен также tween'инг Vector-класса