Autor Zpráva
Neas
Profil
Ahoj.
S flashem a actionscriptem teprve začínám a řeším jeden malý problém:
chtěl bych udělat postavu, která se nějak bude hýbat a její pohyb byl plynulý (až se na konci animace vrátí na první frame, aby nebyl poznat ten přechod). Pak bych chtěl udělat druhou verzi stejné postavy, ale s jiným pohybem, taktéž plynulým. V Actionscriptu bych pak chtěl napsat, aby když kliknu na první postavu a tlačítko budu držet stále stisknuté, aby se animace postavy změnila na druhou vytvořenou animaci, a aby se po puštění myšítka animace opět prohodily zpět. Avšak událost release a releaseOutside fungují pouze tehdy, pokud jsem myšítko stisknul nad stejným objektem, já mám však obě animace jako zvláštní mouvieclipy (v jiné zkoušce pokus-omyl mám zkušební animace jako importované gify, ale to problém samozřejmě neřeší, jedná se stále o 2 různé objekty).
Jak bych měl, prosím, postupovat v řešení mého problému?
Děkuji
weroro
Profil
Nerozumiem otázke.
Dosť som sa pri čítaní tvojho problému stratil.
COBIS
Profil *
Ahoj, vlož si každou animaci postavy do jiného MC. Tyto MC vlož na scénu a pojmenuj jejich instance, např.: mc1, mc2. Na scénu nad tyto dva MC si vlož průhledné tlačítko nebo MC instanci tlačítka pojmenuj btn a napiš tento skript třeba do _rootu:

btn.onPress = function():Void {
	mc1._visble = false;
	mc2._visble = true;
};

btn.onRelease =  btn.onReleaseOutside = function():Void {
	mc1._visble = true;
	mc2._visble = false;
};


A ještě jedna věc, kterou možná budeš potřebovat. Pokud by jsi potřeboval zjistit číslo snímku, nad kterým je přehrávací hlava Flashe v daném MC tak pomoci vlastnosti _currentframe.

Trace(danýMC._currentframe);
COBIS
Profil *
trace(danýMC._currentframe);
Neas
Profil
COBIS:
díky, takhle to už funguje.
chtěl bych se ještě zeptat, je nějaký rozdíl mezi zápisem, který jsi mi poradil a zápisem, kdy přiřadím script přímo tlačítku?
on (press)
{
	normal._visible = false;
	normal.stop();
	hladi._visible = true;
	hladi.play();
}
on (release, releaseOutside)
{
	normal._visible = true;
	normal.play();
	hladi._visible = false;
	hladi.stop();
}

a druhý dotaz: má smysl (z hlediska zátěže na procesor) vždy animace spouštět a zastavovat (viz. script výše)?
děkuji
COBIS
Profil *
1. Oba zápisy jsou stejné až na metody stop() a play(), které tam nemám. Někdy bývá problém si uvědomit kde se nachází tlačítko a MC, který chci pomoci tlačítka ovládat. Proto raději, pokud to je možné, píšu v AS2 všechno na jeden snímek a ne na objekty. Ale problém s cestou k danému MC, Buttonu se dá řešit pomoci ikonky terčíku v panelu Actions.

2. Nejspíš to nemá smysl protože pokud dám MC _visible = false tak procesor tento MC nevykresluje. Na druhou stranu se musí vzít v potaz složitost animace, jest-li animace je vektorová (která zatěžuje více procesor) nebo bitmapová (která zatěžuje méně procesor), počet MC na scéně, výkon PC atd. Ale pro klid v duši je dobré MC zastavit a zase spustit.
Neas
Profil
chápu. díky za objasnění.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0