Autor Zpráva
kuban
Profil
Zdravím

trápí mě flash menu v php. Podivte se na http://www.kubanart.wz.cz je to stránka s horním flashmenu a to nahrává uvod.html a pomůcky.html pomocí php do buňky tabulky, když zmáčknete tlačítko.
Problém je v tom, že pokaždé když php zafunguje a načte třeba ten uvod.html tak se zároveň znova načte i flash menu takže se spustí znova od začátku což jr blbé. Nejde nějak pomocí actionscriptu nebo čehokoli udělat, aby flashmenu se nenačítalo pokaždé znova?
Boy
Profil
Tak proč to jednoduše neuděláš celé ve flashi? Protože takhle, když nemáš alternativní menu v HTML je to stejně přístupné, jako kdyby to bylo ve flashi celé.

Dalo by se to udělat i tak, že bych po prvním spuštění flashe načetl soubor php, který by vytvořil nějakou libovolnou Session na serveru a pak bych načítal jiný soubor, který by mi vrátil, jestli daná session existuje, či nikoliv (jestli byl už flash spuštěn nebo ne) a podle toho se rozhodoval, zda-li přehrávat animaci od začátku, nebo rovnou skočit na konec animace.
kuban
Profil
No chtěl jsme zkombinovat flash a html, abych využil flash dynamiku animace pro efekt ale text nechal v html, aby se dal tisknout a tak...
Tak sem řečil jak to co nejlépe udělat. první jsem to udělal přes rámy, ale dozvěděl jsem se jaké jsou z rámama hrozné problémy, tak sem to udělal pomocí ifframe, to už bylo lepší, ale furt je to problémové. tak sem se dozvěděl že přes php to bude ideální. Ale, blbost, zase sem narazil na nějaká problém, teď zrovna tento.
Dobře hlavně že by se to dalo nějak udělat, ale jak se to přesně dělá?
Boy
Profil
NO tak to bude na trošku delší povídání, no ale snad to nebude tak těžké....

1. Vytvoř si soubor vytvor_session.php a do něj napiš jen toto:
<?

session_start();
$_SESSION["spusteno"]="spuštěno";
?>


2. Na začátek animace toho menu zase toto:
var spusteno:LoadVars = new LoadVars();

spusteno.load("vytvor_session.php"); //"spustí" se soubor vytvor_session.php a vytvoří se session


3. Vytvoř soubor zjistit.php a do něj dej zase toto:
<?

if (isset($_SESSION["spusteno"]) { //funkce isset() zjišťuje, zda-li je definovaná session spusteno
echo "&spusteno=ano&";
} else {
echo "&spusteno=ne&";
}
?>


4. Nakonec budeme načítat do flashe tento soubor zjistit.php, který nám prakticky řekne, jestli už byla animace spuštěna nebo ne. Dáme tedy na začátek animace tento script:
var zjistit:LoadVars = new LoadVars();

zjistit.load("zjistit.php");
zjistit.onLoad = function () {
if (zjistit.spusteno == "ano") {
gotoAndStop(konecny_snimek);
}
}
// Zde bude umístěn script z bodu 2


Snad to bylo podáno dost jasně... doufám že to zvládneš a já v něčem neudělal chybu...
kuban
Profil
Pochybuju že tam máš nějakou chybu a sem ti vděčný za tu ochotu, která se cení, ale nevěřil bys jaká sem guma! S php teprve začínám. takže i přes to podrobné vysvětlení mi to nejede. A proto bych tě chtěl poprosit, kdybys mi to napsal, když ti to pošlu, určitě to bude pro tebe hračka. Naoplátku ti můžu zhotovit nějakou cool flashanimaci, nebo kdybys potřeboval něco namalovat, nebo nakreslit, design, logo, cokoli: podiv se http://www.odrazy.wz.cz do galerie na člena Ban ať oceníš mé kvality. Vím, že sem trochu asi moc otravný, ale taky tak zoufalý, že tě o to musím poprosit.
Boy
Profil
No přišel jsem na to, že by to šlo udělat i trošku jednodušeji. Čti pozorně:

1. Vytvoř soubor zjistit.php ve stejném adresáři, v jakém máš tu flash animaci! A do něj dej tento kód:
<?

session_start();
if (isset($_SESSION["spusteno"]) { //funkce isset() zjišťuje, zda-li je definovaná session spusteno
echo "&spusteno=ano&";
} else {
echo "&spusteno=ne&";
}
$_SESSION["spusteno"]="ano";
?>

2. Na první snímek tvé animace vlož tento script:
var zjistit:LoadVars = new LoadVars();

zjistit.load("zjistit.php");
zjistit.onLoad = function () {
if (zjistit.spusteno == "ano") {
gotoAndStop(konecny_snimek);
}
}

Osobně doufám, že to bude fungovat a co se týče tvé pomoci, tak když budu potřebovat, tak se ti ozvu, ale myslím že v potíže s grafikou mít nebudu, neboť se jí taky hodně věnuji.
herys
Profil *
zdravím řeším stejný problém, a zajímalo by mě, jestli jste ho vyřešili podle toho druhého vysvetlení. Podle stránek http://www.kubanart.wz.cz to vypadá že ano. děkuji
Boy
Profil
Ano, problém se podařilo vysvětlit... a zmíněný skript funguje.

To herys - na vaši situaci se podívám co nejdřív to bude možné.
Boy
Profil
Tímto prosím administrátory, aby opravili jednu maličkatou chybku, ve skritpu, který jsem napsal, která je příčinnou toho, že jim to nefungovalo... nyní už nemůžu svůj příspěvek editovat (proč?) Chybí tam uzavření závorky podmínky:
špatně!
if (isset($_SESSION["spusteno"]) {

správně!!
if (isset($_SESSION["spusteno"])) {
kuban
Profil
Ne! Problém se podařilo vyřešit jen trochu. To co je na http://kubanart.wz.cz není php ale je to řešené pomocí ifframe bylo to tak: Děkuju moc členu Boy, který byl tak ochotný a sám my to napsal, takže flash se po jakékoli akci nespouštěl znova, ale z určitého framu, což by u jiných jednoduchých menu stačilo, bohužel tohle je komplikovanější a obsahuje dva konečné framy, protože má v sobě ještě animaci [jak vyjedou další tlačítka) a navíc, vždycky když kliknete na tlačítko, spustí se movieclip s animací nadpisu dané sekce a tento movieclip se vždycky zrušil, protože to php vždy najelo na určitý zadaný frame.
tak sem si řek, že to de do háje a vrátil jsem se k původní verzi s ifframe. Jestli budu jednou třeba PHPmozek a to možná dokáže, za dané situce-nemám páru ani kamaráda, kterej by mi pomoh.
herys
Profil *
ja teda nevim ale me to podle toho prvniho navodu porad nejede, fakt uz nevim kde mam chybu, mam to i vyexportovany pro AS 2. nemuzete me nekdo poslat funkcni priklad?
herys
Profil *
no a porad se mi ta animace prehrava dokola i kdyz mam na poslednim snimku stop
Toto téma je uzamčeno. Odpověď nelze zaslat.

0