Re: Aide : deplacement du joueur => client serveur [non réso
Publié : dim. 07/avr./2013 15:18
autre chose , utilise l'udp pour un jeu en réseau.
Forums PureBasic - Français
https://www.purebasic.fr/french/
en fait le mieux c'est d'utilisercederavic a écrit :Utilise WindowEvent() plutot que WaitWindowEvent() qui est bloquant. Ca resoudra ton probleme de focus sur le serveur pour que celui-ci envois les données.
Code : Tout sélectionner
WaitWindowEvent(10)
Code : Tout sélectionner
Macro SendMove(type) ;Formation des paquet et envoie
TaillePaquet=8
*SenderMemory=AllocateMemory(TaillePaquet+5)
PokeB(*SenderMemory,type)
PokeL(*SenderMemory+1,TaillePaquet)
PokeL(*SenderMemory+5,Player(PlayerID)\x)
PokeL(*SenderMemory+9,Player(PlayerID)\y)
SendNetworkData(ConnectionID,*SenderMemory,TaillePaquet+5)
EndMacro
Macro SendText(type,message) ;Formation des paquet et envoie
TailleMessage=Len(message)
TaillePaquet=TailleMessage
*SenderMemory=AllocateMemory(TaillePaquet+5)
PokeB(*SenderMemory,type)
PokeL(*SenderMemory+1,TaillePaquet)
PokeS(*SenderMemory+5,message,TailleMessage)
SendNetworkData(ConnectionID,*SenderMemory,TaillePaquet+5)
Debug message
EndMacro
Et ben bien vu, merci beaucoupWaitWindowEvent(10)
Code : Tout sélectionner
Macro MovePlayerToAllClient(ClientID,XX,YY) ;Formation des paquet et envoie
cl=ClientID
X=XX
Y=YY
For a=0 To ListSize(Player())-1
SelectElement(Player(),a)
.....
Code : Tout sélectionner
Macro MovePlayerToAllClient(ClientID,Xx,Yy) ;Formation des paquet et envoie
cl=ClientID
X=XX
Y=YY
For a=0 To ListSize(Player())-1
SelectElement(Player(),a)
TaillePaquet=12
*SenderMemory=AllocateMemory(TaillePaquet+5)
PokeB(*SenderMemory,#MovePlayer)
PokeL(*SenderMemory+1,TaillePaquet)
PokeL(*SenderMemory+5,Cl)
PokeL(*SenderMemory+9,X)
PokeL(*SenderMemory+13,Y)
SendNetworkData(Player()\id,*SenderMemory,TaillePaquet+5)
Debug "On envoi a "+Str(Player()\id)+" que "+Str(Cl)+" a bougé en "+Str(X)+"/"+Str(Y)
Next
EndMacro