Pokud jste nevynechali nějaký kus kódu, kterým se skóre změní, ve skutečnosti deklarujete var myscore = 0
přímo v horní části bloku kódu AS3.
První věcí by bylo změnit to na 100
, pak spusťte skript a zjistěte, zda se tato upravená proměnná skóre odesílá. Pokud ano, pak vše funguje, jak má.
Aktualizace:
Změnili jste svou otázku a chcete mít možnost načítat data. Již pro to máte nastavenou funkci pomocí loader.addEventListener(Event.COMPLETE, dataOnLoad)
. Potřebujete pouze získat data, která váš PHP skript posílá zpět. K tomu lze přistupovat prostřednictvím vašeho evt
parametr v dataOnLoad
funkce:
function dataOnLoad(evt:Event):void {
trace("Data submission complete");
var returnVars = evt.target.data;
trace("***********************");
for (var myVars in returnVars) {
trace(myVars + ": " + returnVars[myVars]);
}
trace("***********************");
}
Aktualizace 2:
Požádali jste o pomoc s načítáním skóre z databáze. Protože již máte soubor PHP, který to načítá z databáze (předpokládejme, že se jmenuje scores.php
),m k jejímu načtení potřebujete pouze funkci ve Flashi.
Základní funkce již máte na místě, pomocí URLLoader
a posluchači událostí. Tyto pouze potřebujete, abyste je mohli aplikovat na přímou zátěž:
btn_scores.addEventListener(MouseEvent.CLICK, loadScores);
function loadScores(e:MouseEvent):void {
var fileLoader:URLLoader = new URLLoader();
fileLoader.addEventListener(Event.COMPLETE, scoresLoadComplete);
fileLoader.load(new URLRequest("scores.php"));
}
function scoresLoadComplete(evt:Event):void {
try {
var returnVars = evt.target.data;
trace("***********************");
for (var myVars in returnVars) {
trace(myVars + ": " + returnVars[myVars]);
}
trace("***********************");
} catch (err:Error) {
trace("Can't parse loaded file: " + err.message);
}
}
Poznámka že váš soubor PHP aktuálně vrací HTML tabulku výsledků. Toto se nebude chovat ve Flashi; bylo by mnohem lepší, kdybyste poslali páry klíč/hodnota a analyzovali je nebo jen základní HTML seznam skóre.