SWiSH Forum Strona Główna SWiSH Forum
Forum użytkowników programów SWiSH

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
RollOver, OuT na obiekcie dynamicznym
Autor Wiadomość
Impats 
Początkujący


Dołączył: 20 Lis 2009
Posty: 6
Skąd: Polska!
Wysłany: Pon 04 Sty, 2010 21:06   RollOver, OuT na obiekcie dynamicznym

Ładuje zdjęcie z folderu. Co zrobić, żeby po najechaniu na nie myszką po prostu się powiększyło?

Sotosuje:
Kod:

 on (RollOver){   
  this._xscale = 240
  this._yscale = 240
  }

 on (RollOut){   
  this._xscale = 200
  this._yscale = 200
  }


Oczywiście w ładowałem go wpierw poleceniem LoadMovie do MC.

W czym tkwi mój błąd?

Bo jak dam

Kod:

onSelfEvent (load){
  this._xscale = 240
  this._yscale = 240
   }


to wszystko gra.... Somebody help?
 
     
eden
Ekspert


Pomógł: 35 razy
Dołączył: 04 Sty 2008
Posty: 265
Skąd: warsaw
Wysłany: Pon 04 Sty, 2010 21:43   

Gdy ladujesz cos do klipa, wszystkie jego akcje zostaja usuniete. Powinienes zakleszczyc jeszcze jeden klip. Np.

Kod:
onLoad () {
   
  createEmptyMovieClip("test",1);
  test.createEmptyMovieClip("kontener",1);
 
  test.kontener.LoadMovie("test.jpg");
   

  test.onRollOver = function() {
    this._xscale = 240;
    this._yscale = 240;
  };
 
  test.onRollOut = function() {
    this._xscale = 100;
    this._yscale = 100;
  };

 
}
 
     
Impats 
Początkujący


Dołączył: 20 Lis 2009
Posty: 6
Skąd: Polska!
Wysłany: Wto 05 Sty, 2010 15:39   

oo :) właśnie tego mi było trzeba ;) Ale działa mi to tylko na dysku twardym, na FTP-ie już nie:( Zdjęcie w ogóle się nie chce załadować....
 
     
eden
Ekspert


Pomógł: 35 razy
Dołączył: 04 Sty 2008
Posty: 265
Skąd: warsaw
Wysłany: Wto 05 Sty, 2010 17:35   

Najprawdopodobniej dzieje sie tak dlatego, ze ladowanie fotki na serwerach odbywa sie wolniej niz na komputerach lokalnych, a movieclip ktory jest w stanie ladowania zawartosci nie moze byc uzywany przez zaden ze skryptow. Poniewaz kod wykonuje sie natychmiastowo, fotka niezdanza sie zaladowac,gdy juz ustawiana jest skala klipu. W takim przypadku operacja ladowania zostaje zakonczona niepowodzeniem.

najprostsze rozwiazanie jest by ustawiac akcje na klip nieco puzniej, (np ze 3 klatki dalej od polecenia loadmovie). Jest to oczywiscie bardzio cienkie rozwiazanie, bo czas ladowania jest wielkoscia zmienna. Najlepiej bylo by uzyc obiektu klasy MovieClipLoader do ladowania fotek, gdyz jako obiekt posiada on wbudowane metody na detekcje zakonczenia procesu ladowania zawartosci do klipa. (podobne mechanizmy da sie rowniez osiagnac dla loadMovie, ale sa to przestarzale techniki)
 
     
Impats 
Początkujący


Dołączył: 20 Lis 2009
Posty: 6
Skąd: Polska!
Wysłany: Sro 06 Sty, 2010 20:57   

Kurcze i jestem w kropce, bo tego "cieńkiego" rozwiązania chyba nie zastosuje;/;/ Nie mam pomysłu jak wyjść z tej sytuacji;/;/

Kod:
onSelfEvent (load) {
   
    this._xscale = 100
    this._yscale = 100
   
  createEmptyMovieClip("test",1);
  test.createEmptyMovieClip("kontener",1);
 
  test.kontener.LoadMovie("9a.jpg");
   
 test.onRollOver = function(a) {

        skalaX = 120;
        skalaY = 120;
        gotoAndPlay(5
        )
    };
 
  test.onRollOut = function(a) {
      _xscale = 100;
      _yscale = 100;
      gotoAndPlay(1)
    };
   
}onFrame (4) {
    stop();
}
onFrame (5) {
    predkoscX = ((this.skalaX-this._xscale)*0.1);
    predkoscY = ((this.skalaY-this._yscale)*0.1);
    this._xscale += predkoscX;
    this._yscale += predkoscY;
}
onFrame (6) {
    prevFrameAndPlay();
}
onFrame (7) {
    stop();
}
onFrame (8) {
    predkoscX = ((this.skalaX-this._xscale)*0.2);
    predkoscY = ((this.skalaY-this._yscale)*0.2);
    this._xscale += predkoscX;
    this._yscale += predkoscY;
}
onFrame (9) {
    prevFrameAndPlay();
}
onFrame (10) {
    stop();
}








a MovieClipLoader coś mnie łamie... Wcale go nie wczytuje...

Kod:
onSelfEvent (load){
loader_obj = new MovieClipLoader();
loader_L = new Object();
loader_L.onLoadInit = function() {
    this._xscale = 240;
    this._yscale = 240;
}
loader_obj.addListener(loader_L);
loader_obj.loadClip(["9a.jpg"], [MC]);}
 
     
eden
Ekspert


Pomógł: 35 razy
Dołączył: 04 Sty 2008
Posty: 265
Skąd: warsaw
Wysłany: Sro 06 Sty, 2010 23:06   

Cytat:
loader_obj.loadClip("WoWScreenshot2583.jpg", test.kontener);


Kod:
onSelfEvent (load){

  createEmptyMovieClip("test",1);
  test.createEmptyMovieClip("kontener",1);

loader_obj = new MovieClipLoader();
loader_L = new Object();
loader_L.onLoadInit = function(target) {
    addEvent();
};
loader_obj.addListener(loader_L);
loader_obj.loadClip("WoWScreenshot2583.jpg", test.kontener);
}
function addEvent() {
 test.onRollOver = function() {
    this._xscale = 120;
    this._yscale = 120;     
 };
 test.onRollOut = function() {
    this._xscale = 100;
    this._yscale = 100;
 };   

}
 
     
Impats 
Początkujący


Dołączył: 20 Lis 2009
Posty: 6
Skąd: Polska!
Wysłany: Sro 06 Sty, 2010 23:56   

Wszystko Super:) ;p Działa :) Tylko ja inteligent nie potrafię teraz połączyć MovieClipLoader z tym delikatnym skalowaniem ... Ale i tak ogromne Ci dzięki:)
 
     
Fygydymyk 
Początkujący


Dołączył: 09 Sty 2010
Posty: 2
Skąd: Kłock
Wysłany: Sob 09 Sty, 2010 09:53   

Witam wszystkich użytkowników :)
Mam pytanie. Jak korzystając z takiej metody ustwić Anchor Point?

Moja fotka po wczytaniu się z pliku skaluje wzdłuż osi X i Y od TL. Jak to zrobić żeby powiększała się równomiernie w każdą stronę? (Oczywiście po wywołaniu funkcji Roll Out)

próbowałem tak:

Kod:

this.align = "Center";


W sumie nawet nie wiem czy się za to dobrze zabieram...
 
     
eden
Ekspert


Pomógł: 35 razy
Dołączył: 04 Sty 2008
Posty: 265
Skąd: warsaw
Wysłany: Sob 09 Sty, 2010 14:54   

Niestety niema takiej możliwości. W AS2 nieda się dynamicznie zmienić zakotwiczenia. Wyjscia sa 2:
- zrezygnować z createEmptyMovieClip() na rzecz gotowego klipu z interfejsu.
- obliczyc sobie roznice przesuniecia x i y skalowanego klipu i przesować podczas skalowania.
 
     
Fygydymyk 
Początkujący


Dołączył: 09 Sty 2010
Posty: 2
Skąd: Kłock
Wysłany: Sob 09 Sty, 2010 15:41   

Ja to wkładam do MoVie Clipa. W środku niego mam ten skrypt. Ale opcje "align" mam tak jakby zablokowane.



a tak swoją drogą
Kod:
Stage.align = "Center";
- działa.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 4.83 sekund. Zapytań do SQL: 14