Cum să dezactivați o clasă

În clasa principală sunt importate mai multe clase, care descriu acțiunile care vor fi efectuate la apăsarea butonului.
Ar trebui să fie inutil să bată sau la clasele de moment (echipa a încercat să șteargă nameclass, eroare 1189: ... încerca să șteargă docs proprietate fixe Numai proprietățile definite dinamic pot fi șterse nu este clar), sau ștergeți acțiunea, dar clasa principală în importate eșuează







Nenad un cui - trebuie doar să stea pe o metoda de drept ascultător eveniment al mouse-ului și ascultător manipulant clasa pe care o doriți, dacă nu doriți ca metoda a fost executată mai târziu - handler de dezabonare. De exemplu

myButton.addEventListener (MouseEvent.CLI CK, class1Instance.takeClick)
myButton.addEventListener (MouseEvent.CLI CK, class2Instance.takeClick)
myButton.addEventListener (MouseEvent.CLI CK, class3Instance.takeClick)

așa că am semnat trei metode de trei clase diferite pentru a face un clic pe un singur buton. Atunci când trebuie să vă dezabonați, de exemplu:

myButton.removeEventListener (MouseEvent.C LICK, class1Instance.takeClick)

după care clasa1Instance.takeClick () nu va fi apelată.

Ceva nu funcționează în nici un fel. Și nu găsesc nicăieri altcineva, deoarece frunzele sunt ucise dintr-o altă clasă. Iată un exemplu despre cum am terminat:







// Clasa principală:
pachet import flash.display. *;
import flash.events. *;
clasa de import1;

public class principal extinde Sprite funcția publică principală () var class_1: class1 = new class1 (myButton);
myButton.removeEventListener (MouseEvent.C LICK, class_1.takeClick); // Aici trebuie să ucizi ascultătorul dintr-o altă clasă
>
>
>


// Clasa de import în care doriți să opriți apăsarea unui buton din clasa principală:
pachet import flash.display. *;
import flash.events. *;

public class Class1 se extinde sprite funcția publică Class1 (myButton: SimpleButton) myButton.addEventListener (MouseEvent.CLI CK, takeClick);
funcția takeClick (e: MouseEvent): urmărire nevalidă ("OK");
>
>
>
>

Ei bine, asta faci în codul tău. Creați un buton pe care îl semnați. și apoi dezabonați în afara - nu înțeleg ce nu este corect.

eroare
1119: Accesul unei posibile proprietăți nedefinite takeClick printr-o referință cu un tip static class1.

funcția takeClick trebuie să fie redată în afara constructorului

Mulțumesc, a funcționat, numai problema nu a rezolvat, toate acțiunile din clasă nu au putut fi oprite (a trebuit să merg în altă direcție.

Vă sfătuiesc să înțelegeți cel puțin exemplele inițiale de programare pe cartea AC3, cumpărați chtoli.

acolo sunt corectate descrierile clasei și se adaugă metoda stopNow () - cred că totul vă va fi clar.

În interiorul constructorului, acesta nu definește niciodată funcții. Cu siguranță înțeleg că în acest fel ați accesat variabilele cloakal - dar modul corect este cel din exemplul corectat. Aceasta este baza clasei de programare OOP care are variabile și metode private / publice.

Vă mulțumesc foarte mult! Voi rescrie site-ul.
Am cumpărat cartea, dar totul este extrem de neclar, studiez prin exemple, este mai rapid și mai ușor de înțeles. Când primesc firul și înainte de a citi o carte groasă.







Articole similare

Trimiteți-le prietenilor: