Forum eduweb.pl • Wyświetl temat - odczyt eventu z innej klasy
Z uwagi na dużą liczbę wpisów stworzonych bez wątpienia wyłącznie w celu pozycjonowania stron na określone frazy, dodaliśmy do wszystkich linków (w postach i podpisach) atrybut rel="nofollow". Z tego względu wszystkie dodane linki straciły swoją moc pozycjonerską. Forum jest dla Was, dlatego prosimy o zamieszczanie wyłącznie "prawdziwych" tematów i odpowiedzi.

odczyt eventu z innej klasy

Obsługa programu, animacja, AS2, AS3
  • Wiadomości
Offline

Itsuma

  • Posty: 5
  • Rejestracja: 17 sty 2013, o 12:11

odczyt eventu z innej klasy

Post14 lut 2013, o 23:06

Witam,

mam problem z odczytem eventu z jednej klasy w drugiej klasie. Mam coś takiego:

AS1:

public function zatrzymanie(event:Event):void{

if(y == 1270){
addEventListener(MouseEvent.CLICK, otworz_pauza);
function otworz_pauza(e:MouseEvent):void{
y = 1120;
newObiekt.zatrzymanie_obiekt();
}
}
if(y == 1120){
addEventListener(MouseEvent.CLICK, zamknij_pauza);
function zamknij_pauza(e:MouseEvent):void{
y = 1270;
newObiekt.ruch_obiekt();
}
}
}

AS2:

public function zatrzymanie_obiekt():void{
stop();
removeEventListener(Event.ENTER_FRAME, eFrame);
}

public function ruch_obiekt():void{
play();
removeEventListener(Event.ENTER_FRAME, eFrame);
}


Chciałbym, żeby eventy z AS2 reagowały na kliknięcie w AS1 i wykonywały to co powinny. W tej formie nic się nie dzieje, wyskakuje tylko błąd: TypeError: Error #1009: Nie można uzyskać dostępu do właściwości lub metody dla odniesienia do obiektu null.
at Obiekt/eFrame()

Jak to zrobić? Jak pozbyć się błędu? Dzięki
Offline

zchrobot

Team eduweb

Team eduweb

  • Posty: 1319
  • Rejestracja: 4 mar 2010, o 20:44

Re: odczyt eventu z innej klasy

Post15 lut 2013, o 10:07

błąd jest po pierwsze w braku zdef metody "eFrame" która powinna się wykonywać wraz z eventem ENTER_FRAME, jeśli chodzi o przekazywanie eventów pomiędzy klasami poszukaj informacji o dispatchEvent
Offline

Itsuma

  • Posty: 5
  • Rejestracja: 17 sty 2013, o 12:11

Re: odczyt eventu z innej klasy

Post15 lut 2013, o 11:04

Witam,

próbowałem dispatchEvent, ale również nic się nie działo, postaram się to napisać jeszcze raz i wkleję tutaj. Jeśli chodzi o eFrame to mam ją zdefiniowaną w klasie Obiekt tylko tu nie wklejałem bo nie jest istotna w tym momencie, chodzi o to, żeby ją wyłączyć.
Offline

zchrobot

Team eduweb

Team eduweb

  • Posty: 1319
  • Rejestracja: 4 mar 2010, o 20:44

Re: odczyt eventu z innej klasy

Post16 lut 2013, o 17:52

//klasa1
Kod: Zaznacz cały
myButton.addEventListener(MouseEvent.CLICK, function():void {
stage.dispatchEvent(new Event("myEvent")); });

//klasa2
Kod: Zaznacz cały
stage.addEventListener("myEvent", function():void { trace("odebralem"); });
Offline

Itsuma

  • Posty: 5
  • Rejestracja: 17 sty 2013, o 12:11

Re: odczyt eventu z innej klasy

Post18 lut 2013, o 22:50

witam,

dzięki za podpowiedź. Niestety, nie do końca wiem jak użyć tej części z klasy2. Czy można go rozpisać na dwie części jak w przypadku normalnego eventu, na zasadzie:
addEventListener...
function...

Nie do końca wiem jak tam wszystko podstawić, czy zamiast "trace("odebralem")" mogę podstawić stop(); i removeEventListener? Dzięki
Offline

zchrobot

Team eduweb

Team eduweb

  • Posty: 1319
  • Rejestracja: 4 mar 2010, o 20:44

Re: odczyt eventu z innej klasy

Post25 lut 2013, o 23:04

tak można to zrobić jak w przypadku zwykłego eventu, tak możesz tam podstawić dowolna akcję która ma się wykonać po wywołaniu eventu
Offline

zchrobot

Team eduweb

Team eduweb

  • Posty: 1319
  • Rejestracja: 4 mar 2010, o 20:44

Re: odczyt eventu z innej klasy

Post10 mar 2013, o 19:05

Kod: Zaznacz cały
package
{
   
   import flash.display.MovieClip;
   import flash.events.*;
   
   public class Kulka extends MovieClip
   {
      
      public function Kulka()
      {
         addEventListener(Event.ADDED_TO_STAGE, init);
      }
      
      function init(e:Event):void {
         stage.addEventListener("pauza_wlaczona", kulka_pauza);
      }
      
      function kulka_pauza(e:Event)
      {
         stop();
      }
   }
}
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego postu.

Wróć do Flash i ActionScript

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości

cron