Skocz do zawartości

zniknięcie MC -> zmiana koloru -> pojawienie sie. Jak ?


FlooX

Rekomendowane odpowiedzi

Witam!

mam problem. Chciałbym zrobić takie coś że mam MovieClipa na scenie który jest czarnym kwadratem i zaczyna on łagodnie znikać, gdy alpha osiągnie 0 to ma sie zmienić kolor na czerwony, i ponownie ten MC sie łagodnie pojawić z nowym kolorem.

Problem jest w tym że nie potrafie wychwycić momentu w którym alhpa będzie 0 :( nie potrafie stworzyć tego kodu. Grzebałem w helpie ale nic do nie dało. pomóżcie

 

to kod który ja zrobiłem:

klocek.onEnterFrame = function() {
this._alpha-=5;
if (this._alpha==0) {
	kolor();
	alfa();
}
}
function kolor() {
var kolorek:Color = new Color(klocek);
kolorek.setRGB(0xcde2ea);
alfa();
}
function alfa() {
klocek._alpha+=50;
}

 

Jeszcze jakbyście mogli to powiedzcie jak zrobić by cała akcja została wykonana dopiero po kliknięciu na ten kwadrat. ?

danke

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 5
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

kliknięcie to jest

mc.onClick = function() {
  ...
}

 

 

if (this._alpha == 0) {
  delete this.onEnterFrame;
  kolor();
}

 

Nie mam aktualnie Flasha, więc nie mogę sprawdzić, czty działa, ale powino być dobrze. Czemu dwa razy wywołujesz funkcję alfa()?

Odnośnik do komentarza
Udostępnij na innych stronach

no niestety nie działa. Znowu obiekt znika ale sie już nie pojawia :/

Zmieniłem kod jak powiedziałeś:

klocek.onRelease = function() {
klocek.onEnterFrame = function() {
	this._alpha-=5;
	if (this._alpha == 0) {
   		delete this.onEnterFrame;
   		kolor();
	}
}
}
function kolor() {
var kolorek:Color = new Color(klocek);
kolorek.setRGB(0xcde2ea);
alfa();
}
function alfa() {
klocek.onEnterFrame = function() {
	klocek._alpha+=5;
}
}

 

Ale klocek nie pojawia sie spowrotem.

Gdy zmienie warunek że jeśli alfa nie jest równa 0 to... (if (klocek._alpha !==0) to zaskakuje i działa, i w efekcie kolor zmienia sie odrazu bo wiadomo..ale czemu nie to co chce ?

Odnośnik do komentarza
Udostępnij na innych stronach

funkcja _alpha we flashu bardzo kuleje, bdybys wytrejsowal (trace(this._alpha)) wartosci zobaczyl bys ze nie osiagnie ci zera, tylko jakies ulamki( dla tego warunek nie dziala)

sproboj zminic znak "==" na "

czyli

klocek.onRelease = function() {

klocek.onEnterFrame = function() {

this._alpha -= 5;

if (this._alpha

delete this.onEnterFrame;

kolor();

}

};

};

function kolor() {

var kolorek:Color = new Color(klocek);

kolorek.setRGB(0xFF0000);

alfa();

}

function alfa() {

klocek.onEnterFrame = function() {

trace(this._alpha);

this._alpha += 5;

};

}

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności