[F 8.0] mc zawsze na wierzchu

Technologia Flash, czyli animacja na potrzeby stron WWW to świat daleko odbiegły od zwykłego programowania i kodu. Zapytaj o pomoc i podziel się z nami Twoimi problemami z zakresu Flasha.
danielk17
Nowy
Nowy
Posty: 45
Rejestracja: czw cze 21, 2007 2:42 pm

[F 8.0] mc zawsze na wierzchu

Post autor: danielk17 »

Witam, borykam sie z pewnym problem i prosilbym o pomoc :) Wymyslilem sobie pewna nawigacje a w zasadzie gdzies zobaczylem i utknela mi w pamieci i potrzebuje ja teraz zrobic. Moj problem polega na tym ze nie wiem jak zrobic aby moje mc zawsze po kliknieciu na odpowiadajacy mu button pokazywaly sie na wierzchu, probowalem zrobic to przez snapDepths ale nie do konca mi wychodzi poniewaz kurtyna musi byc wyzej.
Tutaj jest przyklad tego ale bez stosownego as bo nie wiem jak go napisac wydaje mi sie ze efekt jaki chcialbym uzyskac jest widoczny
>>tutaj<<
chcialbym aby zawsze mc otwarzalo sie na gorze. Najlepiej jakby udalo by sie to poprawic ale przekierowac mnie do takiego tutka:)


Drugi problem jaki mam wyglada nastepujaco :
Mam 3 buttony (mc) wszystkie korzystaja z funkcji "cofania", kiedy najezdzam sie rozwija, kiedy na niego klikne chce zeby zostal rozwiniety(stop) a zwinal sie dopiero kiedy klikne innego itd.

Z gory dziekuje za proby pomocy :) Pozdrawiam
xeo
Nowy
Nowy
Posty: 51
Rejestracja: ndz lip 29, 2007 9:58 am

Re: [F 8.0] mc zawsze na wierzchu

Post autor: xeo »

Ustaw swapDepths kurtyny powiedzmy na 2000 a mc swapDepths zacznij podnosić od 10
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: [F 8.0] mc zawsze na wierzchu

Post autor: Marek_bf »

Kod: Zaznacz cały

button.onRelease = function() {
	this.swapDepths(this._parent.getNextHighestDepth());
	kurtyna.swapDepths(this._parent.getNextHighestDepth());
};
danielk17
Nowy
Nowy
Posty: 45
Rejestracja: czw cze 21, 2007 2:42 pm

Re: [F 8.0] mc zawsze na wierzchu

Post autor: danielk17 »

Dziekuje Marku :)
A jakas odpowiedz na drugi problem ?

//probowalem przez

Kod: Zaznacz cały

a_but.enabled=false;
ale nie wiem jak zrobic zeby wracal po kliknieciu na inny
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: [F 8.0] mc zawsze na wierzchu

Post autor: Marek_bf »

Pogrzeb sobie w tym.
W Twoim przykładzie (nawigacja) wstawiłem w 1 klatce:

Kod: Zaznacz cały

// tablicuje buttony i mc podstron
var buttony_arr:Array = [a_but, b_but, c_but];
var podstrony_arr:Array = [a_mc, b_mc, c_mc];
// przypisuje do buttonow zdarzenie onRelease
// oraz dodaje do wykonania funkcje steruj
// z odpowiednimi paramatrami
for (var i = 0; i < buttony_arr.length; i++) {
	buttony_arr[i].i = i;
	buttony_arr[i].onRelease = function() {
		steruj(this._parent, this._parent.zaslona, podstrony_arr[this.i], this, buttony_arr);
	};
}
function steruj(container_mc:MovieClip, zaslona_mc:MovieClip, zaslaniany_mc:MovieClip, wybrany_btn:Button, buttony_arr:Array):Void {
	for (var i = 0; i < buttony_arr.length; i++) {
		// wylaczam wszystkie buttony
		// odblokowanie buttonow nastepuje w 
		// ostatniej klatce mc zaslona
		buttony_arr[i].enabled = false;
		// jezeli jakis ma alpha 50 to zmianiam je na 100
		if (buttony_arr[i]._alpha == 50) {
			buttony_arr[i]._alpha = 100;
		}
		// nadaje wybranemu buttonowi alpha 50 
		if (buttony_arr[i] == wybrany_btn) {
			buttony_arr[i]._alpha = 50;
		}
	}
	// przekazuję do mc zaslona referencje tablicy buttonow
	// oraz info o wybranym ostatnio buttonie
	zaslona_mc.buttony_arr = buttony_arr;
	zaslona_mc.wybrany_button = wybrany_btn;
	// steruje odtwarzaniem i glebokoscia zaslony i podstron 
	zaslona_mc.play();
	zaslaniany_mc.gotoAndPlay(2);
	zaslaniany_mc.swapDepths(container_mc.getNextHighestDepth());
	zaslona_mc.swapDepths(container_mc.getNextHighestDepth());
}
W ostatniej klatce mc zaslona

Kod: Zaznacz cały

for (var i = 0; i < this.buttony_arr.length; i++) {
	// jeśli button nie jest aktualnie wybranym
	// to go odblokowuje
	if (this.buttony_arr[i] != this.wybrany_button) {
		this.buttony_arr[i].enabled = true;
	}
}
Przykład -->Klik
danielk17
Nowy
Nowy
Posty: 45
Rejestracja: czw cze 21, 2007 2:42 pm

Re: [F 8.0] mc zawsze na wierzchu

Post autor: danielk17 »

No tak to rozwiazuje problem jezeli buttony sa stabilne a co jezeli sa ruchome:
rollOver(rozwiniecie) rollOut(zwiniecie), co prawda rozwiniety mc zostaje zmienia alpha ale juz nie wraca jak jest klik na inny. Dopiero wraca do klati 1 (nie zwija sie) po nastepnym najechaniu.

a jezeli byla by bardzo duza trudnosc to zadowolilbym sie tylko blokowaniem klawiszy na rozwinieciu, i jezeli klik na inny klawisz to wraca do tej 1 klatki, probowalem tego przez

Kod: Zaznacz cały

a_but.enabled=false;
ale jezeli tak jest to po kliku na inny trzeba "najechac" na poprzedni zeby wrocil do pierwotnego stanu.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

przejście podstrony

Post autor: Marek_bf »

Przykład -->Klik
Ostatnio zmieniony czw lis 01, 2007 9:47 pm przez Marek_bf, łącznie zmieniany 1 raz.
danielk17
Nowy
Nowy
Posty: 45
Rejestracja: czw cze 21, 2007 2:42 pm

Re: [F 8.0] mc zawsze na wierzchu

Post autor: danielk17 »

Zapoznalem sie juz z przykladem i go przeanalizowalem ale sam zobacz ze kiedy sa "ruchome" buttony to sie nie sprawdza...
>>>klik<<<
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: [F 8.0] mc zawsze na wierzchu

Post autor: Marek_bf »

  • 1. Przekopiuj cały skrypt z przykładu nawigacja_6 (1 klatka głównego timeline i ostatnia klatka mc zaslona), nie zrobiłeś tego a są w nim istotne zmiany w stosunku do nawigacja_5.
  • 2. Z wnętrza przycisków wywal akcje stop() (z 1 i ostatniej klatki)
danielk17
Nowy
Nowy
Posty: 45
Rejestracja: czw cze 21, 2007 2:42 pm

Re: [F 8.0] mc zawsze na wierzchu

Post autor: danielk17 »

Marku ale popatrz sie na twoj zalacznik... tam dalej jest zalacznik 5, nie wiedzialem ze jest 6....
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: [F 8.0] mc zawsze na wierzchu

Post autor: Marek_bf »

Cholera przepraszam, przekopiowałem link z poprzedniego posta, nie zmieniając 5 na 6 :) Pobierz ponownie, poprawiłem link ^
danielk17
Nowy
Nowy
Posty: 45
Rejestracja: czw cze 21, 2007 2:42 pm

Re: [F 8.0] mc zawsze na wierzchu

Post autor: danielk17 »

Nic sie nie stalo. dziekuje bardzo:) domyslilem sie ze wystarczy tylko zmienic sciezke:) i pobralem, rzeczywiscie dziala ale nie mozna robic nic wektorowo z klawiszami bo sie po prostu wszystko sypie nie moze byc zaden motion ani nawet maska, albo swiruja albo nie dzialaja, ale chyba za duzo wymagam ;p hehe, w kazdym badz razie Marku bardzo dziekuje zreszta jak zwykle :)
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: [F 8.0] mc zawsze na wierzchu

Post autor: Marek_bf »

Może być i motion i maska, dlaczego nie? Przecież motion masz już użyty.
danielk17
Nowy
Nowy
Posty: 45
Rejestracja: czw cze 21, 2007 2:42 pm

Re: [F 8.0] mc zawsze na wierzchu

Post autor: danielk17 »

Ale motion nie w butonie tylko motion na butonie, sproboj ruszyc buttona przez motion na scenie glownej, to zaczna swirowac, albo np, zeby pojawialy sie przez motion-alpha.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: [F 8.0] mc zawsze na wierzchu

Post autor: Marek_bf »

Nie ma problemu --> Klik
ODPOWIEDZ