Flash 8 & povratna vrednost javascript funkcije
U Macromedia Flash 8 pozivam funkciju koja je napisana u javascript-u:
getURL("javascript:WriteToFile('"+myText+"')"); Code: function WriteToFile(sText) { //alert(sText) var fso = new ActiveXObject("Scripting.FileSystemObject"); var FileObject = fso.OpenTextFile("C:\\LogFile.txt", 8, true,0); // 8=append, true=create if not exist, 0 = ASCII FileObject.write(sText); FileObject.close(); delete FileObject; delete fso; } sve prolazi OK, jer fja nema povratnu vrednost. Problem nastaje kada hocu da izvrsim ReadFromFile(). Fja ima return value; 1.) Kako da procitam POVRATNU VREDNOST fje? 2.) Da li mozete da mi preporucite jos neki nacin za komunikaciju sa file-ovima? |
dakle, prvo samo da skontam zasto javascript
ako koristis javascript samo snimas fajlove na klijentu a ne i na server sto je ok ako radis aplikaciju za desktop ogranicenje activeX-a ti je sto ce ti samo raditi u Internet Explorer-u ako pak ipak hoces da snimas i citas sa servera onda je PHP dobro resenje jednostavno je takodje, i slanje podataka izmedju Flash-a i PHP je podrzano gomilom primera za komunikaciju izmedju Flash-a i Javascripta mozes iskoristiti vec gotovo resenje popularni Javascript Integration Kit za Flash http://weblogs.macromedia.com/flashjavascript/ evo i tutorijala ako ti ovo prvo ne odgovara a i vidim nesto da im stranice na OS-u ne rade http://www.communitymx.com/content/a....cfm?cid=0922A |
Promenio sam pristup.
Pokusavam da upotrebim XMLConnector komponentu. Iscitavanje sam nastelovao, ali upis josh ne radi. Jer neko ima iskustva sa ovim? |
bilo bi super da objasnis sta zapravo zelis da uradis
xmlconnector sluzi za slanje ili primanje xml podataka to ne znaci da xmlconnector moze da zapisuje fajlove ali neki server side script (php recimo) bi mogao to na osnovu podataka poslatih od strane flash-a ali onda definitivno ne bi koristio xmlconnector vec amfphp http://amfphp.sourceforge.net/ |
Hvala na odgovorima, MrSteel.
Zelim da napravim jednostavnu flash igru u kojoj je cilj razbijati zidove. U fajlu chuvam podatke o 10 najboljih rezultata. Prilikom zavrsetka svake partije uchitavam 10 najboljih rezultata, poredim ih sa upravo postignutim rezultatom i, ukoliko je potrebno, azuriram sadrzaj file-a. php jos nisam koristio: tu mi treba detaljno objasnjenje za izvrsenje koda. Ukoliko je potrebno josh detalja, let me know! |
pogledaj AMFPHP primere veoma jednostavno
da li imas postavljen test server na svom racunaru ako nemas prvo to prouci kako bi mogao da izvrsavas PHP i testiras kod kuce, preporucujem XAMPP danas nemam vremena da uradim primer a i mislim da to nema smisla pogledaj funkciju sendAndLoad i primere za php i flash preko google naci ces zanimljive primere za slanje i primanje http://www.flash-db.com/GuestBookTut/ guestbookovi su dobar primer za to posto i saljes i primas podatke aj sretno ako nista napravicu ja sitan primer |
Takodje pogledaj na kirupa.com ima odlicne tutorijale na temu server-side - flash! Evo i tacnog linka
|
Nakon prvobitnog izbegavanja php-a, podesio sam XAMPP i zadovoljan sam!
Novo pitanje: Kako da gasim .swf aplikaciju? (direktno pokrenutu i iz browsera) Preciznije -sta da stavim u dugmetov on (release){...} Probao sam fscommand i getURL bezuspesno. Saljite isprobane naredbe. Pozdrav! |
Sta tacno hoćeš da ugasiš ?
Browser ili ? |
Ne radi fscommand (quit)? Meni uopste u novijim verzijama flash-a fscommand cesto bug-uje!
|
fscommand je standalone only ? neznam samo kada je radila ?
|
ako bi da uklonis swf onda mozes da zamenis sadrzaj div-a gde ti je flash pomocu javascript-a
Use FSCommand with the browser. SYMPTOMS FScommand doesn't work when the movie plays in a browser. FScommand works only with Macromedia standalone projector. This tutorial describes how to create a "quit button" and use fscommand to communicate with the browser i dalje primer kako da radi http://www.flashdesignerzone.com/tutorials/t1041.php medjutim izgleda da firefox ne slusa uopste tu naredbu, dok u IE i Operi sljaka |
Tutorijal na koji si linkovao ne menja sadržaj DIV-a, već zatvara prozor. Drugi deo skripta je u VBScriptu, koji FF ne razume.
Za uklanjanje DIVa nije potrebno da se njegov sadržaj menja, dovoljno je samo da mu se promeni CSS atribut. |
da da, tutorijal ne menja div i prevideo sam da je vbscript
anyway pokusao sam par fora sa neta za firefox medjutim nista, u ostalim document.close() radi ovi tvrde da radi na sledecu prevaru ali meni ne radi http://www.interwebby.com/blog/2006/02/04/3/ |
Citat:
|
heh, super
ako je tako evo ti primer koji meni radi komanda je fscommand("Quit", ""); download pa sam pretvori u projector jer je oko 2mb bezveze da se ne patimo http://www.hagane-studio.com/as/quit/quit.zip |
Ma i ja koristim istu komandu... Nego je neko bacio kletvu na mene, tako da mi uvek najprostije stvari ne rade!
|
ne verujem ja u to, pogledaj primer ovo ono, pa vidi
mozda nisi stavio da nema paremetara ili ... |
Aplikaciju cu pokretati preko browsera, pa hocu da klikom na button unutar .swf-a zatvorim browser.
Drugi slucaj je kada nezavisno od browsera pokrenem .swf; isto mi treba zavrsavanje rada te aplikacije klikom na dugme. Dosada isprobane stvari prikupljene sa net-a ne daju rezultat. Mozda i to da uradim preko .php-a? P.S. u C++ je exit(1); |
ne mozes da zatvoris ceo browser vec samo prozor a i to ne radi dobro u firefox-u jer nisu omogucili (ali ne fscommand quit nego ono sto sam napisao )
za standalone radi korektno fscommand quit php je server side jezik i ne moze da kontrolise browser u tom smislu |
1.) Kako da pokrenem .swf file pomocu PLAYER-a kao nezavisnu aplikaciju? Dakle, imam web stranicu na kojoj stoji link ka mojoj igrici i kada kliknem na link ona treba da se otvori u playeru.
2.) swf saradjuje sa php-om samo ukoliko je pokrenut u browseru sa: http://localhost/sklapanje/dugme.swf Prilikom integracije swf u html, skript ne vrsi dobar ispis. Ne radi dobro ni kada pokrenem E:\xampp\htdocs\sklapanje\dugme.swf Zasto? Kako resiti? Pozdrav! |
1) nikako ne mozes naterati swf da se otvori u standalone playeru
mozes ili da force-ujes download ili da napravis apollo aplikaciju koja ce raditi sa desktopa, mada bilo bi dobro da navedes razlog sto bi moralo u standalone 2) ako radi direktno swf a html nece onda verovatno nisi dobro ubacio swf u stranicu mada, nije sigurno okaci zip pa da vidimo mora biti pokrenut server da bi radilo zato ti i ne radi e:/... |
2) Zato što je PHP serverski jezik. Ako pozoveš SWF kroz server, on će (kada pozove .php fajl) dobiti ono što je tvoj kod ispljunuo. Ako pozoveš SWF direktno sa diska, on će takođe pokušavati da dobije nešto od PHP fajla, ali pošto ne ideš kroz server nema nikoga da parsira PHP fajl i vrati ti promenljive koje želiš.
Izmena (ddz): Sad tek videh tvoju poruku MrSteel, sorry zbog ponavljanja :) |
Kôd:
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" i probao sam jos: Kôd:
<script language="JavaScript"> |
Radi swf + php integrisano u html.
Sorry! |
Cilj mi je da napravljeni swf otvorim u novom browseru tako da on bude relativno mali. To sam postigao:
index.html HTML kôd:
<script language="JavaScript"> dugme.html HTML kôd:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> Dakle u index.html stoji link koji otvara dugme.html, koje sadrzi dugme.swf . Problem je u tome sto se u novom prozoru swf prikazuje u sredini, tako da iznad i ispod ostaju dve (debele) bele strafte. Kako da se swf pojavi preko celog novog prozorcica? Probao sam da podesim parametre unutar dugme.html (width i height), ali zasada bezuspesno. Mozda treba da odradim specijalan Publish? Kako? Pozdrav! |
pogledaj SWFObject lak je za koriscenje a olaksava embedovanje flash-a na stranicu mnogo mnogo
medju njihovim primerima imas i primer za 100% width i 100% height |
DUZE vreme se pokusavam da resim sledecu nejasnocu: php mi postavi vrednost promenjive _root.red.text . To radi korektno.
Tu promenjivu koristim dalje: Kôd:
trivijalan kod, MEDJUTIM prilikom testiranja scenario je sledeci: -najcesce je sve ok, i textField se pojavljuje na jednom od 10 pozicija koje odredjuje koord (oko 90% slucajeva) -nekada se textField pojavi u samom dnu ekrana. (oko 5%) -nekada se textField UOPSTE NE POJAVI (?!) (oko 5%) Pokusavao sam da radim switch direktno sa stringom, ali ista prica. Gde je greska? Da li je neko imao ovakva (vrlo neobicna) iskustva: isti swf nekada da radi 'vako nekad 'nako?? P.S. nazalost nemam nadleznost da okacim ceo .fla |
uradi trace tamo gde mislis da je greska
koristi flash tracer plug in za firefox ako moras iz browsera da ga teras postavi trejsove tamo gde mislis da treba, ima par zanimljivih mesta ili ti koord nije dobra vrednost ili ti flash film sjebava rad na tom frejmu, sto nije nemoguce ako je prvi frejm ili drugi ili se polje ne kreira dobro trace pa javi mozes da probas da koristis tekstualno polje koje se vec nalazi u flash filmu pa da na njega primenjujes ideju bez kreiranja polja pa da vidis sta se desava a mozes i da objasnis sta zelis ;0 |
Flash tracer plug in josh nisam poterao (instalirao sam ga, ali ne radi).
Dosao sam do sledecih zakljucaka: -php skript vraca dobru vrednost, dakle koord je OK (kao sto sam i ranije naveo) -sta moze da se uradi ukoliko se swf sjebava?? to mi najvishe smrdi... posto swf sadrzi svega 2 frejma (1. i 2. !) -polje kreiram sa naredbom _root.createTextField('zaFor',1,215,ipsilon,250,60 ); To mi deluje chisto. Pokusacu da podesim Flash tracer kako treba, pa se javljam |
flash tracer ti ne radi zbog foldera u kom mu je setovan text file gde flash pise vrednosti ili zato sto nemas Flash Player debug
sad cu novu temu pokrenuti |
u 1. frejmu aktuelne scene izvrsavam komandu:
Kôd:
loadVariablesNum ("Load.php", 0, "POST"); PHP kôd:
Load.php upisuje u text polje (_root.red.text) povratnu vrednost (u mom slucaju -1 ili jedan od brojeva od 0 do 9), koju posle koristim kako sam ranije naveo. Izgleda da se u nekim slucajevima ne izvrsio ceo Load.php (na vreme) i zato _root.red.text ima vrednost NaN u trenutku Kôd:
koord=parseInt(_root.red.text) Da li je moguce da ima problema u sinhronizaciji izmedju php i action scripta? Napominjem da je Kôd:
loadVariablesNum ("Load.php", 0, "POST"); Kôd:
koord=parseInt(_root.red.text) Kako resiti? Mozda na neki drugi nacin ocitati povratnu vrednosti Load.php? |
sve u svemu
najbolje da premestis sve u drugi ili lepo u 3 frejm u prvom sacekas da se ceo flash ucita drugi frejm je najbolje koristiti za export movieclipova koji ti trebaju za flash dakle u drugi frejm fizicki stavis movieclipove, a movieclip na desni klik opcija linkage ne stavis export in first frame vec samo export for Actionscript (to su ti oni movieclipovi koje ces koristiti za attachMovie iz library-ja) tada u prvom frejmu nakon sto se sve ucita Kôd:
onEnterFrame = function() { prvi frejm nije ni za kakve akcije jer provereno pravi problema zbog loadinga |
Vreme je GMT +2. Trenutno vreme je 15:37. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.