Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Muke sa Flashom i PHP-om

[es] :: Flash :: Muke sa Flashom i PHP-om

[ Pregleda: 2269 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SirPsycho

Član broj: 286088
Poruke: 130
*.dynamic.isp.telekom.rs.



+20 Profil

icon Muke sa Flashom i PHP-om16.06.2011. u 10:46 - pre 155 meseci
Imam pitanje...

Kako da povezem igricu sa php skriptama na serveru?
Evo šta mi je poslao PHP programer, ali mene najvise muci to sto je igrica radjena u AS3,
a on mi je dao objasnjenje za AS2:

kada igrica krene, mora da se pozove javascript sa stranice koji ce pronmeniti broj poena koji korisnik ima

1. kada se kliken na dugme za start treba da se pozove ova scripta i JS metod:

loadVariables("gameStart.php", "_blank", "POST");
getURL("javascript:GameStart();");
ovo mora u flashu da se doda.

2. kada se igra zavrsi igrica, zove se ovaj script kako bi se sacuvao rezultat:
loadVariables("game-over.php?score=" + _root.score, this);


Sta bi trebalo uraditi? StarCraft-e pomagaj
Prikačeni fajlovi
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Muke sa Flashom i PHP-om16.06.2011. u 14:36 - pre 155 meseci
treba ti ExternalInterface api da bi pozvao JavaScript iz AS3 (bar koliko sam ja upoznat, a imam veoma malo dodirnih tacaka sa flashom):

Code:

import flash.external.ExternalInterface;
...
ExternalInterface.call("GameStart");
...

 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
*.dynamic.sbb.rs.



+3 Profil

icon Re: Muke sa Flashom i PHP-om16.06.2011. u 18:19 - pre 155 meseci
da, to je otprilike sve što treba da napišeš, stim što ako treba da pošalješ neke parametre toj js funkciji onda ih samo dodaš u produžetku:

Code:
ExternalInterface.call("GameStart", param1, param2, param3...);

A ako očekuješ od te js funkcije da vrati neku vrednost onda je uhvatiš normalno sa:

Code:
var vraćenaVrednost:* = ExternalInterface.call("GameStart", param1, param2, param3...);

www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

SirPsycho

Član broj: 286088
Poruke: 130
*.dynamic.isp.telekom.rs.



+20 Profil

icon Re: Muke sa Flashom i PHP-om16.06.2011. u 20:37 - pre 155 meseci
Ok,

jasno mi je kako to funkcionise sa GameStart java scriptom i hvala puno.

A sta se desava sa

gameStart.php fajlom? Kako njega povezujem?

I šta se dešava sa ovim delom koji upisuje bodove na kraju:

Code:
loadVariables("game-over.php?score=" + _root.score, this);


?????? :-(

 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
212.200.65.*



+28 Profil

icon Re: Muke sa Flashom i PHP-om16.06.2011. u 23:09 - pre 155 meseci
Što se tiče pozivanja JavaScript funkcije i vraćanja njene vrednosti u flash još sam ti ranije dao odgovor u drugoj temi u kojoj si postavio isto pitanje. Primer toga možeš pogledati ovde: dhost.info/manofhonor/pozivFunkcije.html. Što se tiče učitavanja php fajla i promenljivih iz njega korišćenjem POST metode treba da napišeš sledeće:
Code:
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.Event;
import flash.events.IOErrorEvent;

var zahtev:URLRequest = new URLRequest("gameStart.php"); // kreiranje instance URLRequest klase u kojoj ce se nalaziti putanja do php fajla
zahtev.method = URLRequestMethod.POST; // definisanje POST metode

var urlLoader:URLLoader = new URLLoader(); // kreiranje instance URLLoader klase
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES; // format podataka koji će se nalaziti u loaderu

urlLoader.addEventListener(Event.COMPLETE, zavrsenDogadjaj); // kada se php fajl uspesno ucita pozivamo funkciju
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, greskaUcitavanja); // ukoliko se php fajl nije uspesno ucitao pozivamo funkciju u kojoj cemo prikazati poruku o gresci

urlLoader.load(zahtev); // ucitavamo php fajl

function zavrsenDogadjaj(dogadjaj:Event):void {
    try
    {
    var promenljive:URLVariables = dogadjaj.target.data; // smestamo u promenljivu podatke koji se nalaze u loaderu
    removeEventListener(Event.COMPLETE, zavrsenDogadjaj); // uklanjamo osluskivace dogadjaja kako bi oslobodili resurse
    removeEventListener(IOErrorEvent.IO_ERROR, greskaUcitavanja);  // uklanjamo osluskivace dogadjaja kako bi oslobili resurse
    }
    catch(greska:TypeError)
    {
        dinamicki_txt.text = "Doslo je do greske na serveru: " + greska.text; // prikazivanje poruke o gresci
    }
}

function greskaUcitavanja(dogadjaj:IOErrorEvent):void
{
    dinamicki_txt.text = "Dogodila se greska prilikom ucitavanja: " + dogadjaj.text; // prikazivanje poruke o gresci
}


Na kraju se sve promenljive nalaze u varijabli "promenljive" i sa njima možeš da radiš nadalje šta ti odgovara. Kako će sve to izgledati zavisi od tog php fajla koji treba da "servira" flashu promenljive koje želiš da koristiš unutar njega.

[Ovu poruku je menjao MenOfHonor dana 17.06.2011. u 12:40 GMT+1]
Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

SirPsycho

Član broj: 286088
Poruke: 130
*.dynamic.isp.telekom.rs.



+20 Profil

icon Re: Muke sa Flashom i PHP-om17.06.2011. u 00:38 - pre 155 meseci
MenOfHonor, hvala ti na odgovorima.

Ljudi, nista se ne desava, i dalje ne mogu da povezem sa PHP-om. Jednostavno, niti pamti broj bodova, niti korisnicko ime u odeljku za teatiranje koji je napravio php programer.

Evo, podelicu link sa vama...Ovo je neka ranije postavljena igrica:

igrica koja radi

unese se korisnicko ime i klikne se "Testiraj"
bilo koje korisnicko ime
Kad se ponovo ucita njegova igrica vidi se vase ime u scor tabeli ispod igrice, sa brojem igranja i brojem osvojenih bodova.


E sad, link za igricu koju sam ja radio:

Moja igrica

gde se u scor tabeli ispod ne registruje ni jedan jedini zapis ni parametar.

Ne znam da li treba izmeniti samo kod u .fla fajlu ili nesto da dodajem i u AS3 fajlovima?

Tu vam je igrica , u prvom postu prikacena, pa pogledajte sami o cemu se radi...

PhP programer mi je rekao da je za prvu igricu na dugme start ubacio:

Code:

loadVariables("gameStart.php", "_blank", "POST");
getURL("javascript:GameStart();"); 


a onda je dopisao " kada se igranje zavrsi igrica zove se ovaj script kako bi se sacuvao rezultat:

Code:
loadVariables("game-over.php?score=" + _root.score, this);



I naravno, to je po njegovoj prici sva mudrost koju je on uradio na igrici koja radi, prva gore.


E sad, ja sam igricu radio u AS3 i nista od ovoga sto mi je poslao ne mogu da primenim.
A sto se ovog dela sa PHP-om i povezivanjem sa javascriptom tice, nemam apsolutno nikakvog iskustva. :-(

Zato Vas molim, maksimalno uprostite objasnjenje. Znacilo bi puno kada bi ste otvorili fajl koji sam zakacio u prvom postu i konkretno mi reklik gde sta i kako.

Zaista mi ovo puno znaci, a verujem da ste Vi ljudi sa velikim znanjem i iskustvom ( prvenstveno mislim na vas MenOfHonor-e i StarCraft-e ) , rešite mi ovo i biću vam doživotno zahvalan .



 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
212.200.65.*



+28 Profil

icon Re: Muke sa Flashom i PHP-om17.06.2011. u 11:45 - pre 155 meseci
Izmenio sam malo kod, tako da bi sada trebalo da radi. Obrati pažnju da moraš imati dinamičko tekst polje na stage-u (kome sam dodelio naziv instance "dinamicki_txt") u kome će se ispisivati poruke o grešci. Reci mi gde smeštaš podatke o igračima i broju bodova? Jel' koristiš bazu podataka ili XML? Od ovoga dosta zavisi način na koji ćeš učitavati te promenljive.
Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
*.dynamic.sbb.rs.



+3 Profil

icon Re: Muke sa Flashom i PHP-om17.06.2011. u 12:12 - pre 155 meseci
Pa prvo, ne valja ti sledeći link:"http://www.1onlineigre.rs/htmlarea.js"
A posle toga flash mi trejsuje sledeći warning (verovatno nije fatalno):"Warning: Not a known player download type, http://www.1onlineigre.rs/games/flash/"

Onaj prvi link sam pokupio preko "httpfox" plugina za firefox, a uputstvo kako da hvataš trejsove iz fleša čak i kada se flash nalazi online sam napisao u ovoj temi. (idi odma na treći post i skini "flashbug" za "firebug" plugin, batali onaj "wizzy flash tracer")

Ubuduće gde god misliš da nastaje problem u tvom kôdu stavljaj trace() funkcije da bi pratio unutrašnja dešavanja u kôdu inače ćeš svaki čas dolaziti na forum i pitati "a zašto mi ne radi?" a mi će mo da gledamo u pasulj ako nemamo tvoj source kôd. (a i mi će mo ispisati gomilu trace() poziva da bi videli gde je greška)

www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

SirPsycho

Član broj: 286088
Poruke: 130
*.dynamic.isp.telekom.rs.



+20 Profil

icon Re: Muke sa Flashom i PHP-om20.06.2011. u 12:27 - pre 155 meseci
Citat:
MenOfHonor: Izmenio sam malo kod, tako da bi sada trebalo da radi. Obrati pažnju da moraš imati dinamičko tekst polje na stage-u (kome sam dodelio naziv instance "dinamicki_txt") u kome će se ispisivati poruke o grešci. Reci mi gde smeštaš podatke o igračima i broju bodova? Jel' koristiš bazu podataka ili XML? Od ovoga dosta zavisi način na koji ćeš učitavati te promenljive.



Koristi se baza podataka.

Evo i PHP fajlova, oni samo prihvataju query string...

I dalje ne znam sta da radim?

StarCraft-e, ti si napisao da mi ne valja sledeci link: "http://www.1onlineigre.rs/htmlarea.js"
ali ne razumem zasto taj link kad ga ja nisam nigde ni postavio.

Treba mi ljudi konkretno resenje ovog problema. Dakle, dao sam source fajl od igrice, linkove sa servera,
PHP fajlove... Gde i sta treba da upisem u flashu da se bodovi i korisnici pamte na portalu? :-(






Prikačeni fajlovi
 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
212.200.65.*



+28 Profil

icon Re: Muke sa Flashom i PHP-om20.06.2011. u 14:42 - pre 155 meseci
Samo ću na brzinu da ti odgovorim, moram da idem. U "game-over.php" fajlu ti koristiš metodu GET kako bi preuzeo skor, tako da moraš da promeniš metod URLRequest-a (URLRequest.method = URLRequestMethod.GET). Ovo znači da će naziv i vrednost promenljive biti dodati u URL kao querystring. Inače, počeo sam da pišem tutorijal koji treba da da odgovore na sva pitanja za prosleđivanje promenljivih u PHP, kao i njihovo učitavanje u Flash, pa ću ga najverovatnije postaviti sutra, a pogledaću i ovaj tvoj projekat kad budem bio kući.
Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
*.3gnet.mts.telekom.rs.



+28 Profil

icon Re: Muke sa Flashom i PHP-om09.07.2011. u 16:34 - pre 154 meseci
Konačno nađoh malo više slobodnog vremena da ti odgovorim. Na 45. frejmu koji se prikazuje kada igrač završi sa igrom dodao sam dva dinamička tekst polja: jedan ima naziv instance "unesiteIme_txt" i naravno služi za unošenje imena igrača, a drugi je "poruka_txt" u kome će se prikazivati poruke iz PHP-a. Dodao sam i dva tastera od kojih prvi ima naziv instance "posaljiPodatke_btn" i naravno služi za prosleđivanje podataka u PHP, a drugi je "prikaziPodatke_btn" koji će pozvati PHP fajl koji ima za cilj da kreira tabelu u kojoj će prikazati podatke iz MySQL baze. Kada igrač unese ime i pritisne taster "posaljiPodatke_btn" izvršava se sledeći kod:
Code:
import flash.events.MouseEvent;
import flash.events.Event;
import flash.net.URLVariables;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.navigateToURL;

stop();

var promenljive:URLVariables = new URLVariables();
var urlZahtev:URLRequest = new URLRequest("ubacivanje_podataka.php");
urlZahtev.method = URLRequestMethod.POST;
urlZahtev.data = promenljive;
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;

showScore.text = String(gameScore);
poruka_txt.visible = false;
prikaziPodatke_btn.visible = false;

playAgainButton.addEventListener(MouseEvent.CLICK,playAgain);

function playAgain(event:MouseEvent)
{
    gotoAndStop("intro");
}

posaljiPodatke_btn.addEventListener(MouseEvent.CLICK, posaljiPodatke);

function posaljiPodatke(event:MouseEvent):void
{
    posaljiPodatke_btn.enabled = false;
    posaljiPodatke_btn.useHandCursor = false;
    promenljive.username = unesiteIme_txt.text;
    promenljive.score = showScore.text;
    urlLoader.addEventListener(Event.COMPLETE, zavrsenoUcitavanje);
    urlLoader.load(urlZahtev);
}

function zavrsenoUcitavanje(event:Event):void
{
    poruka_txt.visible = true;
    poruka_txt.text = event.target.data.poruka;
    prikaziPodatke_btn.visible = true;
    prikaziPodatke_btn.addEventListener(MouseEvent.CLICK, prikaziPodatke);
}

function prikaziPodatke(event:MouseEvent):void
{
    prikaziPodatke_btn.enabled = false;
    prikaziPodatke_btn.useHandCursor = false;
    navigateToURL(new URLRequest("prikazivanje_podataka.php"));
}


Pozivamo PHP fajl kome prosleđujemo ime igrača i broj osvojenih poena. Kada se podaci uspešno ubace u bazu prikazujemo poruku u polju "poruka_txt" koju prosleđuje PHP, nakoh čega ostaje da pritisnemo taster "prikaziPodatke_btn" kako bi mogli da vidimo imena igrača i njihove osvojene poene.

Fajl "ubacivanje_podataka.php" izgleda ovako:
Code:
<?php
require_once("konektovanje.php");
$korisnickoIme = $_POST["username"];
$poeni = $_POST["score"];

if(mysql_query("INSERT INTO odigrane_igre (Korisnicko_ime,Poeni) VALUES (\"$korisnickoIme\",\"$poeni\")",$konekcija)){
        echo "poruka=Podaci su sacuvani";
    }
else{
        echo "poruka=Doslo je do greske " . mysql_error();
    }
mysql_close($konekcija);
?>


Sve potrebne fajlove poslaću ti na PP.
Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

[es] :: Flash :: Muke sa Flashom i PHP-om

[ Pregleda: 2269 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.