Empecher le ralentisement de flash (jeu)

cs_sepult Messages postés 23 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 24 septembre 2012 - 24 sept. 2012 à 01:30
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 25 sept. 2012 à 08:23
Bonjour, j'ai vu que certain triché au jeu flash, et moi cela me plai pas du tout.
En faite il utilise un logiciel comme par exemple cheat engine.
Cela va permettre de faire ralentir le jeu.
Bref moi qui me mes à faire des petits jeu simple en as2, je voudrait pas a avoir affaire a ce problème.
En cherchant sur le net, j'ai trouver le code suivant :
----------------------------------------
compteur=0;
framerate=50;//framerate du swf
date1=new Date;//repère temporelle
date1=date1.getTime();
marge=1000;//marge autorisée en ms
onEnterFrame=function(){
compteur++
if(compteur>=framerate*4){//logiquement toutes les 4 secondes ça passe
date2=new Date;//repère temporelle pour comparer
date2=date2.getTime();
if(date2-date1>1000*4+marge||date2-date1>1000*4-marge){
// Je regarde si la différence entre les deux timestamp est > 4 secondes (*1000 pour ms) + une marge pour ne pas choper les pcs juste un peu lents.
//triche
gotoAndStop(1);
}else{
date1=new Date;
date1=date1.getTime();
}
compteur=0;
}
}
---------------------------------------
Mon swf a une cadence de 50, le truc est que même si je n'utilise rien pour faire ralentir le jeu, et bien au bout de 4 secondes, cela fait comme si j 'avais tricher, alors que non.

Vous auriez une idée ?

Merci

3 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 sept. 2012 à 09:45
Bonjour,

La question qu'il faudrait te poser est la suivante :
Ta démarche est-elle réellement utile ?

Par défaut, une animation ne tournera de toutes façons pas à la même cadence sur chaque PC sur lequel elle sera lancée.
Tu débutes, donc avant de voir les hypothétiques "protection" (le mot est assez flou en flash), essaie déjà d'optimiser ton code pour que l'animation fonctionne correctement et vois à ce qu'il n'y ait pas de bugs.
Tes jeux ne sont pas primés et tu ne sembles pas travailler pour la FDJ, donc à part gâcher leurs expérience de jeu et donc rater l'important, les joueurs qui "trichent" ne gagneront rien.
Et puis, quel est le % de personnes qui "trichent" réellement ?

Après c'est à toi de voir si tu veux te prendre la tête sur ce détail ou si tu préfères te concentrer sur l'essentiel.

Peg'
0
cs_sepult Messages postés 23 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 24 septembre 2012
24 sept. 2012 à 20:20
Bonsoir et merci de ta réponse Peg, en fait c'est des petits jeux très simple, mais je suis à mettre un classement pour chaque jeu.
Y a pas de gain ou histoire d'argent.
Déjà qu'il faut aussi sécuriser les scores, mais bon voila je voudrait juste savoir par rapport a ma question.
merci !!!
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
25 sept. 2012 à 08:23
A mon humble avis, la réponse est simple : tu ne peux pas.

Et ce pour la première raison évoquée : chaque ordinateur fera tourner ton animation à une cadence différente.
Donc considèrerais-tu qu'un ordinateur qui rame serait tricher ? J'en doute ...

Peg'
0
Rejoignez-nous