Skocz do zawartości

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


Rekomendowane odpowiedzi

Napisano

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

  • Odpowiedzi 5
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Napisano

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()?

Napisano

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 ?

Napisano

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

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