Sklep

» Ciągnięcie i upuszczenie obiektu / Zrzucenie na cel (tutoriale Actionscript dla początkujących)
Kontakt | 
Ciągnięcie i upuszczenie obiektu / Zrzucenie na cel (tutoriale Actionscript dla początkujących)
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 
http://www.swish.pl/tutoriale/help/actionscript-dla-poczatkujacych-gen/scripttute8_1

3. Wybierz scenę w panelu 'Konspekt' i dodaj następujące polecenia skryptu (więcej: zobacz tutorial on Zmienne i sterowanie przepływem):  

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:  
http://www.swish.pl/tutoriale/help/actionscript-dla-poczatkujacych-gen/scripttute8_2
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:  
http://www.swish.pl/tutoriale/help/actionscript-dla-poczatkujacych-gen/scripttute8_3


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 Kontynuuj
  piątek, 25 kwiecień 2025  
  83339704 wywołań  
(c) Copyright by Dreamsoft 2015. Wszelkie prawa do publikowanej treści zastrzeżone. Nasz sklep wykorzystuje pliki Cookies do sprzedaży oprogramowania: polityka prywatności