Skocz do zawartości
View in the app

A better way to browse. Learn more.

Max3D.pl

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

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
  • Wyświetleń 1,2k
  • Created
  • Ostatniej odpowiedzi

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
  • Autor

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;

};

}

Napisano
  • Autor

Ha! działa! dzieki Thorgal :)

jeszcze nigdy sie tyle nie nakurwowalem nad taką błahostką.

 

pozdro

Napisano

jesli pomoglem to mozesz mi sie odwdzieczyc i podarowac mi punkcik reputacji :)

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

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.