Nowe rzeczy

Projektowanie aplikacji/biblioteki od nowa – jeśli napisało się ją już wcześniej, ma swoje ogromne zalety. Można poprawić wszelkie niedoróbki i usprawnić to co usprawnienia wymagało.

Przykładem takiego usprawnienia jest wreszcie napisany przeze mnie (jednak jeszcze nie do końca) Resource Manager. Zastosowanych kilka reguł OOP-u i już mamy całkiem fajny kawałek kodu, który jednocześnie daje się rozszerzać bez większych problemów.

Aktualnie Resource Manager składa się z dwóch części – menedżera zasobów oraz fabryki zasobów. Fabrykę można uczyć tworzenia nowych zasobów w trakcie działania programu więc programista używający AGE będzie mógł sam dodać nowy typ zasobu w zależności od potrzeb.

Obiekty tworzy się za pomocą linii tekstowych postaci:

{resource type} "{resource name}" "{resource arguments}"

Przy czym: {resource type} jest nazwą typu zasobu (np. texture, sample itp.), {resource name} jest nazwą zasobu używaną do zidentyfikowania go przez Resource Manager’a. Ostatni argument {resource arguments} jest już argumentem zależnym od typu zasobu jaki dodajemy. Przykładowo dla tekstury będzie to tylko ścieżka do obrazka.

Kolejną dobrą wiadomością jest to, że udało mi się zmusić AGE do odtwarzania utworów. Tutaj mamy dwie możliwości:

  • odtwarzanie sampli (w kółko lub pojedyńczo)
  • odtwarzanie całych utworów

O ile odtwarzanie sampli jest raczej prostą sprawą – załadować, włączyć i gra – o tyle utwory są zorganizowane trochę inaczej. Otóż utwory można ładować za pomocą ageMusicPlayer. Ten to również obiekt pozwala wybrać i zacząć odtwarzanie losowego utworu załadowanego do listy lub też odtwarzanie utworu o konkretnym numerze. Opcjonalnie można także ustawić losowanie następnego (innego niż przed chwilą grał) utworku. W ten sposób otrzymujemy coś na kształt MP3 player’a ^^

Klasy od dźwięku wymagają jeszcze drobnych usprawnień i kosmetycznych zmian, ale już potrafią zrobić trochę hałasu 🙂

To właściwie tyle z rzeczy które ostatnio robiłem. Teraz powinienem dopracować menedżer zasobów oraz odtwarzanie dźwięku, a później… to się jeszcze zobaczy ^^

Dodaj komentarz