SWiSH Forum
Forum użytkowników programów SWiSH

Podstawy języka skryptowego - Lekcja 10. Inne właściwości obiektu

roland - Pon 22 Sie, 2005 10:45
Temat postu: Lekcja 10. Inne właściwości obiektu
Oczywiście obrót obiektu nie jest jedyną właściwością jakie możemy zmieniać. Opiszę teraz jeszcze kilka dodatkowych, które mogą okazać się przydatne (choć nie są to jeszcze wszystkie dostępne):
    •_x – przesunięcie punktu zakotwiczenia obiektu (którym najczęściej jest środek obiektu), do podanej współrzędnej na osi poziomej. Punkt (0,0) znajduje się w lewym górnym rogu obszaru animacji,
    •_y – przesunięcie punktu zakotwiczenia obiektu do podanej współrzędnej na osi pionowej,
    •_xscale – zmiana poziomej skali obiektu. Wprowadzane wartości oznaczają procent oryginalnego rozmiaru obiektu.
    •_yscale – zmiana pionowej skali obiektu,
    •_rotation – zmiana kąta obrotu obiektu podawana w kątach,
    •_alpha – zmiana przezroczystości obiektu. Wartość 100 oznacza obiekt całkowicie nieprzezroczysty, a 0 obiekt całkowicie przezroczysty,
    •_visible – zmiana widoczności obiektu. Przypisując true, obiekt stanie się widoczny, a wpisując false obiekt będzie niewidoczny (zamiast true i false możemy używać odpowiedników w postaci liczb 1 i 0, inne wartości liczbowe są traktowane tak samo jak true).

Jaka będzie różnica pomiędzy dwoma poleceniami:
Prostokat._alpha=0;
Prostokat._visible=false;
przecież zarówno w pierwszym jak i drugim przypadku obiekt nie będzie widoczny? Otóż ustalając przezroczystość na 0, obiekt staje się przezroczysty, ale dalej znajduje się w animacji, o czym łatwo możesz się przekonać przesuwając kursor myszy w miejsce gdzie poprzedni się znajdował. Kursor myszy będzie się ciągle zmieniał na „łapkę”, więc obiekt tam ciągle się znajduje, tylko jest przezroczysty. Wybierając jednak niewidoczność obiektu, spowodujesz, że także kursor myszy nie będzie go widział i tym samy nie będzie się zmieniał w „łapkę”.

Oto kilka przykładowych skryptów (pamiętaj, aby je wpisywać dla właściwego obiektu, wybierając go na karcie Outline):
Kod:
on (press) {
    Prostokat._x = 0;
    Prostokat._y = 0;
}

spowoduje przesunięcie punktu zakotwiczenia obiektu do lewego górnego narożnika obszaru animacji.

Kod:
on (press) {
    Prostokat._xscale = 50;
    Prostokat._yscale = 200;
}

spowoduje zmniejszenie o połowę aktualnej poziomej skali wyświetlania obiektu, jednocześnie powiększając dwukrotnie pionową skalę wyświetlania obiektu.

Kod:
on (press) {
    Prostokat._alpha = Prostokat._alpha-10;
}

spowoduje, że każde kliknięcie na obiekcie zmniejszy przezroczystość obiektu o 10. Tak więc po 10 kliknięciu obiekt stanie się całkowicie przezroczysty.

Delinquent - Czw 25 Sie, 2005 00:03

Mam pytanie, co należy zrobić aby zmiany na danym obiekcie dokonywały się płynnie. Mam na myśli sytuację w której widzimy całą transformację obiektu a nie tylko jej końcowy efekt.
roland - Czw 25 Sie, 2005 06:53

Cytat:
co należy zrobić aby zmiany na danym obiekcie dokonywały się płynnie


Zmiany właściwości o których piszę powyżej, są niejako zdublowaniem możliwości efektu Move. Efekt ten można dowolnie rozciągnąć w czasie, a tym samym obserwować płynne przejście zmian.

Jeżeli jednak chcielibyśmy, aby te zmiany nastąpiły dopiero po wykonaniu pewnej akcji, np. kliknięcie na innym obiekcie, wtedy należy utworzyć duszka i dla obiektu w nim się znajdującym zastosować efekt Move. Duszka będzie można wtedy wywołać dopiero po kliknięciu (a tym samym wykonać efekt tam zastosowany).

babatunde - Czw 15 Cze, 2006 12:33

A czy mozna przez AS procz zmiany parametru alpha zmienic kolor obiektu?
Zalozmy ze chcialbym aby obiekt przesuwajacy sie po osi poziomej (AS) przy lewej krawedzi obszaru mial kolor czerwony a przy prawej zielony...

aniesia - Wto 19 Wrz, 2006 08:49

no własnie tez mnie to interesuje. czy da sie zmienic kolor obiektu z poziomu kodu?
nugatt - Wto 19 Wrz, 2006 12:38

tak poszukaj w helpie. np. setRGB czy jakoś tak

Powered by phpBB modified by Przemo © 2003 phpBB Group