problem z przyciskiem

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.
szulecki
Posty: 3
Rejestracja: pn lip 28, 2008 10:48 am
Kontakt:

problem z przyciskiem

Post autor: szulecki »

na początku zaznaczę że raczkuję we flashu, wiec prosilbym w miare mozliwosci o dokladne instrukcje. :)

oto problem:

stworzylem we flashu przycisk, a wlasciwie cos w rodzaju interaktywnej animacji w formie przycisku. polega ona na tym, ze na "UP" jest animacja (maly stworek chowa sie do dziury, powiedzmy, ze jest to "animacja-1"), a na "OVER" jest ta sama animacja tylko ze w inwersji (np. "animacja-2"), tak ze po najechaniu stworek sie wynurza, a po zjechaniu mychą - chowa się.

wszystko pięknie, tylko chcialbym dodac jakas akcje zeby w momencie zjechania mychy z przycisku flash zarejestrowal aktualną klatke czy cuś i od tej wlasnie rozpoczal animacje chowania sie stworka. bo jak na razie, jesli za szybko sie zjedzie kursorem z animacji - "animacja-1" odtwarzana jest od początku i nie ma płynności..

ahaa. jak juz tak sie rozpisalem: jeszcze potrzebuje info, jak zrobic patencik, zeby po kliknieciu na przycisk - odtwarzana byla na przyklad animacja od klatki drugiej (przycisk jest w klatce pierwszej).

hmmm... mam nadzieję ze wyrazilem sie dosc jasno.. :)
pozdrawiam.
Fistach
Przelotem
Przelotem
Posty: 348
Rejestracja: sob maja 03, 2003 7:50 pm
Lokalizacja: Wroclaw

Re: problem z przyciskiem

Post autor: Fistach »

1) szukaj 'cofanie'
2) gotoAndPlay ( ); - miedzy ( ) numer lub nazwa klatkiod ktorej ma grac.
szulecki
Posty: 3
Rejestracja: pn lip 28, 2008 10:48 am
Kontakt:

Re: problem z przyciskiem

Post autor: szulecki »

oh geez...
po trzech dniach móżdżenia i czytania wreszcie mi sie udalo... :D :D :D
przewertowalem cale forum, milion tutoriali i gotowych przyciskow tego typu..
plus duzo action scripta (polecam chocby http://www.flashzone.pl, albo http://www.adobe.com/support/flash/action_scripts.html)..

co prawda dalej do konca nie rozumiem swojego kodu (ktory po czesci podebralem z pewnej animacji, niech autor mi wybaczy :))) ale coz... moze kiedys.. ;]
a teraz dla wszystkich (moze komus sie przyda); zrobilem to tak:

w mc dalem jeszcze jedna warstwe i w pierwszej kratce dalem kod as(1.0+2.0):

Kod: Zaznacz cały

stop();
this.onRollOver = function() {
	play();
	this.step = true;
		this.onEnterFrame = function() {
			if (this._currentframe == this._totalframes) {
				this.stop();
			}
			if (this.step == false) {
				this.gotoAndStop(this._currentframe - 1);
			}
			if (this._currentframe == 1) {
				delete this.onEnterFrame;
			}
		};
	};
	this.onRollOut = function() {
		this.step = false;
	}
teraz poprosze o szereg wyjasnien:
rozumiem ze animacja jest zatrzymana na poczatku

Kod: Zaznacz cały

stop();
po najechaniu mycha jest odtwarzana przyporzadkowana jest taka funkcja:

"== : test equality" (czyli "test zgodnosci", mam racje?)
i teraz jesli aktualna klatka tegoż (movie clipa) jest zgodna z ogolna iloscia klatek >>> wtedy animacja stop

Kod: Zaznacz cały

		if (this._currentframe == this._totalframes) {
				this.stop();
dalej

jesli zjedzie sie myszka >>> animacja odtwarzana jest od tylu.

Kod: Zaznacz cały

if (this.step == false) {
				this.gotoAndStop(this._currentframe - 1);
			}
"this.step" >>> na poczatku przyporzadkowana jest (wzgledem funkcji "onEnterFrame") wartosc 'true', tutaj odwoluje sie do pozniejszej

Kod: Zaznacz cały

	this.onRollOut = function() {
		this.step = false;
	}
i na koncu funkcji: jesli animacja dojdzie do klatki pierwszej- resetuje funkcje..

Kod: Zaznacz cały

	if (this._currentframe == 1) {
				delete this.onEnterFrame;
			}
przepraszam za laicki jezyk. czy dobrze zrozumialem?
szulecki
Posty: 3
Rejestracja: pn lip 28, 2008 10:48 am
Kontakt:

Re: problem z przyciskiem

Post autor: szulecki »

ha!
efekt mozecie zobaczyc tutaj:
http://www.szulecki.za.pl/index2.htm

zjedzcie na dol i pomacajcie myszka po wszystkich dziurach w kartce. z jednej wynurzy sie stworek.
mrowa
Posty: 10
Rejestracja: ndz gru 25, 2005 12:15 am

Re: problem z przyciskiem

Post autor: mrowa »

Można prościej. Robisz movieclip powiedzmy na 25 klatek i dajesz do niego kod:

Kod: Zaznacz cały

on (rollOver) {
	this.onEnterFrame = function() {
		if (this._currentframe<25) {
			nextFrame();
		}
	}
}

on (rollOut) {
	this.onEnterFrame = function() {
		if (this._currentframe>0) {
			prevFrame();
		}
	}
}
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: problem z przyciskiem

Post autor: Marek_bf »

@mrowa, fajnie, że chcesz pomagać, ale skoro już to robisz to postaraj się przedstawiać kod, który jest w miarę nowy, używanie on() jest niezalecane od 6 lat. Nie każ się, więc innym cofać w rozwoju :)
ODPOWIEDZ