| Ciągnięcie i upuszczenie obiektu / Zrzucenie na cel (tutoriale Actionscript dla początkujących) |
|
 |
Parse error: syntax error, unexpected T_STRING in /home/users/dreamsoft/public_html/sklep/catalog/extra_info_pages_help_smax.php(33) : eval()'d code on line 2
Opis Ten samouczek krok po kroku, jak upuszczać obiekt, jak używać właściwości _target i _droptarget.
Cel Ten tutorial przedstawia właściwości _target (cel) i _droptarget (zrzuć cel).
plik .swi "zrzucenie_obiektu.swi"
| 1. |
Kontynuuj od poprzedniego tutoriala lub załaduj plik "Przeciąganie.swi" (menu Plik | Przykłady | Tutoriale). Zapisz jako "zrzucenie_obiektu.swi "
|
| 2. |
Skopiuj i wklej obiekt "ball". Zmień nazwę na "ball2" i zmień kolor na niebieski
|
onSelfEvent (enterFrame) { if (dt1 != ball._droptarget || dt2 != ball2._droptarget) { trace("ball._droptarget: " add ball._droptarget); trace("ball2._droptarget: " add ball2._droptarget); trace("-------------------------------------------"); } dt1 = ball._droptarget; dt2 = ball2._droptarget; }
onSelfEvent (load) { dt1 = "empty"; dt2 = "empty"; }
|
Zdarzenie onSelfEvent (load) jest używane do inicjalizacji zmiennych dt1 i dt2.
|
|
Zdarzenie onSelfEvent (enterFrame) jest wywoływane na każdej klatce. Gdy wartości ball._droptarget lub ball2._droptarget zostały zmienione (różne od poprzednich wartości), kody śledzące stan - trace, są wykonywane.
|
|
Twój panel 'Skrypt' powinien wyglądać, jak niżej:
|
| 4. |
Wybierz panel 'Debug' , następnie wróć do panelu 'Obszar Roboczy' i naciśnij Odtwarzaj. W panelu 'Debug' powinieneś widzieć:
|
ball._droptarget: ball2._droptarget: -------------------------------------------
|
Ciągnij niebieską kulkę nad czerwoną, w panelu Debug powinieneś widzieć:
|
ball._droptarget: ball2._droptarget: ------------------------------------------- ball._droptarget: ball2._droptarget: /ball -------------------------------------------
|
To oznacza, że niebieska, że niebieska kulka (ball2) teraz postrzega czerwoną (/ball) jako swój cel - "droptarget". "/ball" jest nazwą od korzenia _root.ball wyrażona w notacji slash . Niebieska jest nałożona nad czerwoną.
|
|
Odciągnij niebieską kulkę z ponad czerwonej i ciągnij czerwoną nad niebieską
|
Odciągnij czerwoną piłkę od nibieskiej w panelu 'Debug' Panel powinieneś widzieć:
ball._droptarget: ball2._droptarget: ------------------------------------------- ball._droptarget: ball2._droptarget: /ball ------------------------------------------- ball._droptarget: ball2._droptarget: ------------------------------------------- ball._droptarget: /ball2 ball2._droptarget: ------------------------------------------- ball._droptarget: ball2._droptarget: -------------------------------------------
|
wciśnij przycisk 'Stop' .
|
| 5. |
Dodaj następujący skrypt do ball2:
|
onSelfEvent (enterFrame) { if (_droptarget==_parent.ball._target) { trace("MATCH"); } }
|
Twój skrypt powinien wyglądać teraz:
|
| 6. |
Przejdź do panelu 'Debug' , następnie do panelu 'Obszar Roboczy' i naciśnij Odtwarzaj. Przeciągnij niebieską kulkę nad czerwoną i powinieneś widzieć w panelu 'Debug':
|
ball._droptarget: ball2._droptarget: ------------------------------------------- MATCH ball._droptarget: ball2._droptarget: /ball ------------------------------------------- MATCH MATCH MATCH MATCH MATCH MATCH MATCH MATCH MATCH MATCH MATCH MATCH MATCH
|
Słowo MATCH oznacza, że porównanie "_droptarget== _parent.ball._target" zwraca wartość true. Właściwość _target (cel) jest używana by zwrócić nazwę docelowego obiektu w notacji slash .
|
|
Ten ten porównania może być używany, by sprawdzić czy jeden obiekt został przeciągnięty ponad inny.
|
Analiza Właściwości _target i _droptarget mogą być użyte do stwierdzenia, czy jeden obiekt znajduje ponad (lub pod, w zależności od kolejności warstw) inny obiektem. Może być to użyteczne by na przykład stworzyć kosz.
Rożnicą pomiędzy tą metodą, a użyciem np. isNearTarget() i isNearThis(), jest taka, że w omawianym przypadku obiekt musi być w trakcie ciągnięcia i może być łatwo rozpoznany poprzez właściwość _droptarget.
Właściwość _droptarget ulega zmianie, gdy kursor myszy przekracza granicę innego obiektu.
Zdarzenie onSelfEvent (load) jest używane do zainicjalizowania niektórych zmiennych, które są używane następnie w zdarzeniu onSelfEvent (enterFrame). Zdarzenie onSelfEvent (enterFrame) jest wykonywane na każdej klatce i używane do sprawdzenia bieżących warunków.
|
 |
 |
Powiązane tematy: Flash,Actionscript dla początkujących |
 |
 |
|
|
|
| (c) Copyright by Dreamsoft 2012. Wszelkie prawa do publikowanej treści zastrzeżone. |
|
|