13.2       Zmiana pozycji wewnątrz obszaru określonego innym obiektem

 

Powyższy problem przeliczania współrzędnych można ominąć stosując metodę względnego pozycjonowania obiektów. Zakres ruchu jest określony przez specjalny obiekt (może być niewidoczny), wewnątrz którego pozycjonowany jest obiekt właściwy.

Właściwości stanowe, stan podstawowy

 

Nazwa obrazu

Car

Zdarzenia

 

Animacja

^SetPosition(

LocalProperty(area,X) + ( LocalProperty(area,Width) * (Variable(CarPosX)/100.0)  ),

LocalProperty(area,Y) +  (LocalProperty(area,Height) * (Variable(CarPosY)/100.0)) )

 

W przykładzie założono, że na diagramie znajduje się obiekt o nazwie area. Może to być np. prostokątny obiekt klasy Kształt. Do przeliczenia pozycji obrazka wykorzystywane są koordynaty obiektu area, odczytywane funkcją LocalProperty. Zmienne sterujące pozycją w obu osiach CarPosX i CarPosY mają zakres zmienności od 0 do 100.

Wygodą tego rozwiązania jest to, że zmiana zakresu ruchu wymaga jedynie zmiany położenia obiektu area – nie jest potrzebna zmiana wyrażenia pozycjonującego w obiekcie obrazka.