nous souhaitons la bienvenue a
notre nouveau membre maxx


 
AccueilFAQRechercherS’enregistrerConnexion
Répondre au sujet
 

2 problèmes avec la classe Date

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
j79y910
Specialiste
Specialiste


Sexe:MasculinLionSinge
Age : 52
Inscrit le : 25 Fév 2008
Messages : 90

MessageSujet: 2 problèmes avec la classe Date   Dim 20 Juil - 10:33

Bonjour à tous, ça faisait longtemps
Voilà j'ai 2 problèmes avec la classe Date, le premier pas grave, le deuxième plus gênant voire bloquant.

1er problème
Je déclare une variable statique dans la classe "dernier":
Code:
static var my_date: Date = new Date();

Puis dans une static function permanente (venant de e-anim) je fais:
Code:
i = dernier.my_date.getSeconds() ;
_root.test.text = i;

Le résultat est que seule la première valeur reste affichée.
Si je déclare my_date dans la static function elle-même, le texte s'incrémente bien.
Code:
var my_date: Date = new Date();
i = my_date.getSeconds() ;
_root.test.text = i;

Amusant non?

2ème problème
Voilà ce que j'ai commencé à faire:


Le cercle tourne au rythme d'un setInterval avec comme paramètre 1000 (à priori une seconde si je ne me trompe pas).
Vous constaterez que le chiffre de la roue se décale régulièrement et ce très rapidement.

Pour moi ça veut dire que l'horloge de mon PC n'est pas à 1/1000s, ce qui veut dire que si on veut faire une application dépendante de la durée, c'est impossible puisque les PC n'ont pas tous la même vitesse d'horloge!

Qu'en pensez-vous?
Revenir en haut Aller en bas
christophe_D
Admin


Sexe:MasculinGémeauxTigre
Age : 34
Inscrit le : 25 Aoû 2006
Messages : 158

MessageSujet: Re: 2 problèmes avec la classe Date   Dim 20 Juil - 14:20

je pense que cela vienne de ton PC !!
a mon avis , ce peu venir de la gestion du timer en flash , a verifier !! (car si c'etait un probleme de ton PC , ton horloge serais plutot aleatoire !! Smile )

pour palier a ce soucis je te propose ceci

pour l'initialisation de ta fonction setInterval , mais une valeur du genre 500 ou inferieur

dans la fonction appele par setInterval rajoute ces quelques lignes

Code:

  static function on_timer() {
    var m_date : Date = new Date();
    if (_root.seconde!=m_date.getSeconds()) {
      _root.seconde=m_date.getSeconds();
    // branchement sur la fonction a faire quand on changer de valeur de seconde
    }
  }

cette fonction fait juste un control si la derniere valeur enregistre des secondes a change , donc meme si le timer est par exemple a 100 , ton branchement sera appele que toute les secondes ...
Revenir en haut Aller en bas
j79y910
Specialiste
Specialiste


Sexe:MasculinLionSinge
Age : 52
Inscrit le : 25 Fév 2008
Messages : 90

MessageSujet: Re: 2 problèmes avec la classe Date   Dim 20 Juil - 19:25

Oui, oui tu as raison, si je synchronise sur le getSeconds ça donne çà (sans setInterval):

Par contre (toujours sans setInterval) je fais tourner en 2 * PI / 1000 et ça donne çà (faire F5 et le chiffre des secondes redeviens correct):

et là ce n'est plus du tout synchrone. par contre je me suis aperçu que lorsque je modifie dans e-anim "fichier -->Préférences-->Préférences Durée d'un temps " la durée de rotation varie! J'ai bien peur que ça vienne en pertie de là.
Revenir en haut Aller en bas
christophe_D
Admin


Sexe:MasculinGémeauxTigre
Age : 34
Inscrit le : 25 Aoû 2006
Messages : 158

MessageSujet: Re: 2 problèmes avec la classe Date   Dim 20 Juil - 22:06

a mon avis regarder sur le timer de l'anim principal !
mais attention on parle de frame par seconde !!!
si par exemple le passage de 0 a 1 dure 10 frame donc 1 seconde ...
il faudra etre a 10 frames / seconde ...
apres si tu modifie ca sera un produit en croix !!

et pour finir prevoir une synchro !! pour la derive de l'anim !!!
Revenir en haut Aller en bas
j79y910
Specialiste
Specialiste


Sexe:MasculinLionSinge
Age : 52
Inscrit le : 25 Fév 2008
Messages : 90

MessageSujet: Re: 2 problèmes avec la classe Date   Lun 21 Juil - 10:38

Merci je vais regarder tout çà.
Revenir en haut Aller en bas
j79y910
Specialiste
Specialiste


Sexe:MasculinLionSinge
Age : 52
Inscrit le : 25 Fév 2008
Messages : 90

MessageSujet: Re: 2 problèmes avec la classe Date   Mar 29 Juil - 15:06

christophe_D a écrit:
a mon avis regarder sur le timer de l'anim principal !
mais attention on parle de frame par seconde !!!
si par exemple le passage de 0 a 1 dure 10 frame donc 1 seconde ...
il faudra etre a 10 frames / seconde ...
apres si tu modifie ca sera un produit en croix !!

et pour finir prevoir une synchro !! pour la derive de l'anim !!!


Merci et je pense que grâce à toi j'ai trouvé une solution qui marche:
L'horloge du PC n'est pas exactement à la milliseconde mais plutôt pour certains à 1010 voire 1040 pour d'autres. Donc je me suis basé sur les Date.getMilliseconds () et, à chaque pas si la milliseconde précédente est différente de la milliseconde actuelle, je fais tourner ma roue. J'élimine donc tous les pas qui sont dans la même milliseconde. En plus il faut aussi recaler, car il y a quand même une dérive que j'ai pu observer quelques minutes après! Pour être fluide, je resynchronise toutes les secondes.
Revenir en haut Aller en bas

2 problèmes avec la classe Date

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Action Script :: A l'aide :: MTASC-
Répondre au sujet