Autor Zpráva
Kája z Hustodred
Profil
Zdravím,
před nedávnem jsem se rozhodl, že ve flashi vytvořím adventuru. Bohužel prakticky hned ze začátku se objevil problém, se kterým si opravdu nevím rady. Je možné, že je to nějak jednoduše vyřešitelné, ale já se s tím trápím druhým dnem, stále marně. Proto jsem se rozhodl obrátit se na toto fórum.
Jde o to, že jsem vytvořil první scénu s pozadím a umístil jsem zde svou postavu. Onen objekt jsem nazval 'postava' a uvnitř je rozdělen na čtyři úseky, každý obsahující jeden MC. První je pro stav, kdy postava stojí, druhý pro chůzi vpravo, třetí pro chůzi vlevo a prozatím poslední na sebrání předmětu, o kterém bude řeč vzápětí. Každý úsek s MC jsem nazval podle dané činnosti ("stojici", "chuze2", "chuze3" a "seber_papuc"). Dále mám tedy na scéně umístěn předmět. Ten jsem příhodně nazval 'papuc' a přiřadil mu script, zajišťující, že po kliknutí na něj se k němu postava přemístí, přehraje se v objektu postava část 'seber_papuc' a papuč prozatím jen zmizí bokem. Vše se splní, až na to, že z oné animace sebrání papuče se přehraje pouza první snímek, takže jakoby problikne (v přiložené ukázce ta červená čmáranice). Přitom při animaci chůze se vše objevuje v pořádku jak má. Pomalu z toho šílím, takže bych uvítal jakoukoliv radu, děkuji.

Tady je část kódu, přiřazeného oné papuči, zajišťující onu animaci:
	
onClipEvent(enterFrame){
if((this.tralala==1)&&(_root.postava.hitTest(this)==true)){
		_root.postava.gotoAndPlay("seber_papuc");	
		this._x=-1000;
	}
}

on(press){
	 setProperty(_root.postava, _x, _root.postava._x + _root.xzmena);  /*část kódu zajišťující chůzi k předmětu, zbytek je obsažen ve scriptu u postavy*/
	var tralala=1;
}

onClipEvent(mouseDown){
	tralala=0;
}


A abych nezapoměl, TADY je ta 'adventura'
flz
Profil
vzhľadom na to, že ti ostatné animácie fungujú, mi to veľmi nedáva zmysel.
problém môže byť v tom, že animácia seber_papuc nieje MC, ale Graphic,
alebo
ešte dáky iný skript ti ovládu tu animáciu.

akým spôsobom sa mení animácia z seber_papuc na stav ked postavička stojí?

inač.. vyzerá to pekne, aj názov domény ma pobavil :) držím palce
Kája z hustodred
Profil *
Děkuju za reakci,
k první věci: ve 'chlívku' nazvaném "seber_papuc" se nachází MC, takže v tom to není.
Jiné skripty se k animaci "seber_papuc" nevztahují.
Co se změny z "seber_papuc" na "stojici" týče, zatím to není zajištěno nijak. Tím bych se zabýval až by se mi spustila animace. Pak bych to řešil asi pomocí gotoAndPlayem na ono "stojici"...
Kája z Hustodred
Profil
Jen jsem chtěl dodat, že kdyby byl někdo ochoten věnovat mi nějaký ten svůj čas, můžu mu zaslat přímo .fla k prozkoumání. Určitě to bude nějaká blbost, kterou si neuvědomuju, protože s action scriptem nemám příliš zkušeností. Za pomoc můžu už teď slíbit místo v závěrečných titulcích pod kolonkou technická výpomoc. A co víc si přát, než věčnou slávu... :-)
flz
Profil
pošli mi to na mail :)
flz
Profil
no, tak som si pozrel ten tvoj výtvor a problém je v štruktúre kódu. podobný problém som v začatkoch riešil pomerne často :) len som si to na prvý krát nevšimol..... čiže:

bude lepšie ak budeš používať funkcie a vyhýbať sa eventu onEnterFrame.
prave v tom evente je problém, tvoj skript v každom frejme zisťuje ci postava hitla (hitTest) papuču.
ak hej tak v každom frejme nastaví animáciu postavy na frame "seber".. to znamená, že v každom frejme ten skript tu animáciu vráti na prvý frame-> preto ta animácia stojí.
druhá chyba je že pri splnení hitTestu tú papuču dáš na _x=-1000;, tým pádom už v ďaľšom frejme tá podmienka už neplatí.

riešením by bolo vytvorenie funkcie pre každú akciu v tej hre ktorá postava môže vykonať. ja by som to spravil tak, že až po kliknutí na papuču (alebo hociktorý iný predmet) by sa spustila funkcia "presun" obsahujúca hitTest s eventom onEnterFrame. táto funckia by zabezpečovala presun postavy do blízkosti papuče. keď postava hitne papuču, funkcia "presun" sa sama odstráni a spustí animáciu "seber_papuc" alebo čokoľvek iné.

no dúfam, že si to pochopi, alebo som ťa aspon naviedol na správn smer.
Kája z Hustodred
Profil
Tak tedy funkce. Snad se s tím nějak poperu no. Při nejhorším to celé skončí na dně zaprášené složky. :-)
Na každý pád tisíceré díky a pokud ten projekt jednou skutečně spatří světlo světa, titulky už se třesou na jméno hrdiny, bez kterého by to ztroskotalo hned na začátku (což je ovšem stále mož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: