Autor | Zpráva | ||
---|---|---|---|
Neas Profil |
#1 · Zasláno: 25. 5. 2011, 00:21:21
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 |
#2 · Zasláno: 25. 5. 2011, 14:52:32
Nerozumiem otázke.
Dosť som sa pri čítaní tvojho problému stratil. |
||
COBIS Profil * |
#3 · Zasláno: 25. 5. 2011, 16:48:15
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 * |
#4 · Zasláno: 25. 5. 2011, 16:49:43
trace(danýMC._currentframe);
|
||
Neas Profil |
#5 · Zasláno: 25. 5. 2011, 17:45:03 · Upravil/a: Neas
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 * |
#6 · Zasláno: 25. 5. 2011, 19:09:46
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 |
#7 · Zasláno: 25. 5. 2011, 20:45:22
chápu. díky za objasnění.
|
||
Časová prodleva: 13 let
|
0