J'ai une simple application autonome écrite en Visual Basic que je porte sur une application basée sur un navigateur en utilisant PHP/javascript.Passer des variables Flash à PHP
L'application VB originale comporte des jeux flash intégrés simples avec des compteurs de jetons et de points. Les valeurs de jeton et de point sont transmises en tant que variables entre l'application et le jeu. J'essaye de réaliser le même effet dans mon port de PHP sans modifier le code d'actionscript (en utilisant les variables dans actionscript qui existent déjà).
est Ci-dessous le code Visual Basic qui est le chargement d'une valeur à partir d'une base de données et en affichant cette valeur à l'aide de FlashVars: clignote
Private Sub loadPlayer()
Try
If CtblPoints.CheckPointsByID(mCard) Then
objPoints = CtblPoints.GettblPointsByID(mCard)
objPlayerAc = CtblPlayerAccount.GettblPlayerAccountByPlayerID(objPoints.AccountId)
objPlayer = CtblPlayer.GettblPlayerByID(objPlayerAc.PlayerID)
objPlayerBal = CtblPlayerBalance.GettblPlayerBalanceByID(objPlayerAc.PlayerID)
objPlayerAcDetail = CtblPlayerAccountDetail.GettblPlayerAccountDetailByAmount(objPoints.AccountId)
strTotalPoints = Convert.ToString(objPlayerAc.Points)
strTotalWin = Convert.ToString(objPlayerBal.TokenAmount)
'Dim intTokenAmount As Decimal = Convert.ToDecimal(objPlayerBal.TokenAmount)
'strTotalWin = Convert.ToString(Convert.ToInt64(intTokenAmount * 100))
flashPlayer.Size = panelGame.Size
flashPlayer.FlashVars = "totalEntries=" & strTotalPoints & "&credit=" & strTotalWin
flashPlayer.LoadMovie(0, strGameFile)
flashPlayer.Play()
Else
Me.Close()
Dim frmInvCrd As New frmInvalidCard
frmInvCrd.ShowDialog()
End If
Catch ex As Exception
End Try
Je suis en train de recréer ce en PHP, mais je suis à une perte à la façon de commencer à le mettre en œuvre.
Les variables en flash sont déclarés publiquement, et les importations mondiales utilisées:
import com.atticmedia.console.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
Première déclaration de la variable 'totalEntries' est:
public var totalEntries:int = 0;
ce qui est un petit bout de totalEntries utilisé dans le actionscript
public function notifyServerOfUnwonCredits(param1)
{
var remainder:* = param1;
if (this.useServer)
{
this.targetWinAmount = 0;
this.cancelUpdateOverTime = F9.setEnterFrame(this.updateOverTime);
fscommand("OverTime", "" + remainder);
this.flashVarsUpdatedAction = function()
{
originalTotalWin = totalWin;
return;
}// end function
;
}
else
{
this.setTotalEntries(100000);
this.setTotalWin(0);
}
return;
}// end function
Finalement, je vais transmettre ces valeurs à un myS Base de données QL.
Un aperçu de ce serait extrêmement utile, Merci!
Merci pour la réponse, cela efface certaines choses pour moi. En plus de question cependant, si cela ne vous dérange pas. Si j'utilisais javascript en tant qu'intermédiaire pour passer une variable à PHP, aurais-je encore besoin de modifier l'actioncript existant? Je comprends que vous avez raison de dire que PHP est un service web basé sur une requête sans état, mais le javascript est-il le même? Je suppose que cette question résout en quelque sorte: Est-ce que je peux faire quelque chose pour éviter de modifier le code ActionScript existant? – Vorathe
Cela pourrait être possible, puisque le javascript restera actif et persistant tant que la page n'est pas rafraichie, si vous passez les variables à PHP cela ne devrait pas avoir d'importance. Je suppose que votre application Flash rend automatiquement toutes les variables que vous voulez disponibles en tant que propriétés de lui-même, donc vous pourriez peut-être interroger pour eux, mais pour être honnête, j'utilise généralement flash.external.ExternalInterface.call pour communiquer avec JavaScript, Je ne suis pas tout à fait sûr. – Dereleased