Dodatkowa kontrola obiektów
Wstawiane obiekty mają swoje parametry, bardzo często ich odpowiednie dobranie wystarcza w zupełności. Dodatkowa kontrola jest wykorzystywana rzadko i daje podobne możliwości jak zwykłe parametry, przydaje się w wyjątkowych sytuacjach. Przykładowo: jeżeli chcesz gdzieś dodać grafikę jakiejś poruszającej się postaci to kontrolerami możesz obiektowi zmienić animację, pozycję i nadać ruch.
Ogólna zasada dodatkowej kontroli jest taka sama jak przy zwykłych obiektach. Jest zdefiniowany jakiś obszar, są dodane obiekty, definiuje się dodatkową kontrolę i tam dodaje się kontrolery. Kontrolować można jednocześnie kilka obiektów podając ich ID, kontrola zlicza też swój czas i można ją zapętlić, tak samo wszystkie kontrolery.
Przykładowy schemat dla areny z pliku DEF:
[BGdef] ; definicja tła areny spr = kfm.sff ; ścieżka do pliku SFF ... [BG Nazwa_obiektu_1] type = normal ... [BG Nazwa_obiektu_2] type = parallax ... [BG Nazwa_obiektu_3] type = normal ... [BGCtrlDef Nazwa_kontroli] ; definicja kontroli obiektów ... [BGCtrl Nazwa_kontrolera_1] type = VelSet ... [BGCtrl Nazwa_kontrolera_2] type = VelSet ...
Schemat zapisu
[<definicja>CtrlDef <nazwa>] : (x)(tekst) Nazwa zdefiniowanej kontroli, mogą to być zarówno liczby jak i litery, początkowy zapis zależy od tego gdzie obiekt jest używany i jak się nazywa definicja obszaru w której jest, dodatkowo dochodzi dopisek CtrlDef bez spacji.
ctrlID = numer, numer, ... : (liczba_c) Główna lista ID obiektów (numer lub kilka numerów oddzielonych przecinkami), które będą kontrolowane przez wszystkie dodane niżej kontrolery, możesz dodać do 10 numerów ID, jeżeli nie podasz żadnego to kontrola obejmie wszystkie obiekty.
looptime = czas : (liczba_c) Globalna pętla, czas po którym cała kontrola się powtórzy.
[<definicja>Ctrl <nazwa>] : (x)(tekst) Nazwa dla kontrolera, do definicji dochodzi dopisek Ctrl bez spacji.
type = kontroler : (x)(tekst) Typ kontrolera z podanych niżej.
ctrlID = numer, numer, ... : (liczba_c) Tak jak wyżej przy definiowaniu kontroli, jednak jeżeli podasz tu jakieś ID kontroler zignoruje główną listę.
time = początek, koniec, powtórz : (liczba_c) Czas po jakim dany kontroler ma zacząć działać, zakończyć działanie i zresetować swój czas zaczynając wszystko od początku, na powtarzanie wpłynie też globalna pętla.
Typy kontrolerów z parametrami
type = null : (tekst) Nieaktywny kontroler, typ przydatny jeżeli chcesz z jakiegoś powodu zablokować dany kontroler bez zamiany całego kodu w komentarz, wystarczy że stary typ kontrolera zamienisz w komentarz np. type = null ;VelSet.
type = Visible : (tekst) Widoczność, typ odpowiedzialny za to czy dany obiekt widać czy też nie, nie ma pływu na inne parametry.
value = 1 : (0/1) 1 – obiekt widoczny, 0 – obiekt niewidoczny.
type = Enabled : (tekst) Aktywność, typ odpowiedzialny za włączenie lub wyłączenie danego obiektu, automatycznie wpływa też na widoczność obiektu.
value = 1 : (0/1) 1 – obiekt aktywny, 0 – obiekt nieaktywny.
type = VelSet : (tekst) Przesunięcie, typ odpowiedzialny za nadanie stałego ruchu danemu obiektowi tak jak velocity, można ustawić oba lub tylko jeden parametr.
X = ruchX : (liczba_rz) Stałe i jednostajne przesuwanie w konkretnym kierunku za pomocą dodatnich lub ujemnych wartości.
Y = ruchY : (liczba_rz)
type = VelAdd : (tekst) Dodatkowe przesunięcie, typ który kiedy jest aktywny dodaje ciągle do ruchu podane wartości przyspieszając lub zwalniając obiekt, można ustawić oba lub tylko jeden parametr.
X = ruchX : (liczba_rz) Wartości dla danej osi, które będą dodawane lub odejmowane od obecnego ruchu obiektu, zależnie od znaku.
Y = ruchY : (liczba_rz)
type = PosSet : (tekst) Pozycja, typ ustawia pozycje danego obiektu tak jak start, można ustawić oba lub tylko jeden parametr.
X = pozycjaX : (liczba_rz) Pozycja na osi X.
Y = pozycjaY : (liczba_rz)
type = PosAdd : (tekst) Dodatkowa pozycja, typ który kiedy jest aktywny dodaje ciągle do pozycji podane wartości zmieniając pozycję, możesz ustawić oba lub tylko jeden parametr.
X = pozycjaX : (liczba_rz) Tu ustalasz wartości dla danej osi, które będą dodawane lub odejmowane od obecnej pozycji obiektu, zależnie od znaku.
Y = pozycjaY : (liczba_rz)
type = Anim : (tekst) Animacja, typ zmienia numer animacji dla obiektu animowanego.
value = numer : (liczba_c) Numer nowej animacji.
type = SinX : (tekst) Typ ustawia te same wartości co parametr sin.x.
value = odległość, czas, przesuń : (liczba_rz)
type = SinY : (tekst) Typ ustawia te same wartości co parametr sin.y.
value = odległość, czas, przesuń : (liczba_rz)