Question

Eh bien j'ai le lecteur flv personnalisé qui lit un fichier XML et dessine des cercles sur la vidéo Flv. Position et le temps est spécifié dans le fichier XML. Je l'ai fait le calcul avec la fonction AS3 getTimer (). Il fonctionne très bien, peu importe combien de temps u pause puis jouer à nouveau. Les cercles sont affichés au bon moment.

Maintenant, j'ai deux problèmes

1- Comment getTimer peut être remis à zéro ?? il est nécessaire lorsque l'utilisateur est autorisé à jouer un autre swf .. 2- Est-il une autre façon d'ailleurs le calcul getTimer. Je n'utilise pas de classe minuterie car il dépend du temps d'exécution Frame-Script et peut donner un résultat erroné si ce n'est pas aussi précise que la fonction getTimer (). 3- Comme je suis en utilisant curseur sur mesure, donc je dois faire des calculs chaque fois que l'utilisateur clique ou faites glisser le curseur w.r.t fonction getTimer () et puis soustraient secondes et tout ça. mais encore une fois il va très difficile lorsque l'utilisateur joue un autre swf que mes calculs sont basés sur getTimer () Fonction.

Si un projet open-source est disponible, merci de faire parvenir moi, mais je veux créer un lien à courir à Flash Player et un lecteur air aussi?

Était-ce utile?

La solution

Je vais essayer de vous orienter dans la bonne direction, mais les premières réponses à vos questions:

  1. Non
  2. Non (en plus d'utiliser une minuterie)
  3. Il ne devrait pas être plus difficile

Pour élargir le numéro 3, car c'est là se trouve votre solution, il ne devrait vraiment pas être plus difficile. Ce que vous devez faire sa piste le temps que le fichier FLV en cours a commencé. Tant que vous avez que le calcul est pas vraiment différent. La chose la plus simple serait d'introduire votre propre fonction reset, et envelopper getTimer dans une fonction personnalisée pour ajouter la fonctionnalité de repos nécessaire. Quelque chose comme ceci:

var startTime:int;

function resetTimer():void {
    startTime = getTimer();
}

function getTime():int {
    return getTimer() - startTime;
}

Dans l'exemple ci-dessus, vous toujours accéder à l'heure actuelle de getTime plutôt que getTimer, au-delà que tout est le même. Assurez-vous que vous appelez resetTimer en cas de besoin.

J'espère que cela!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top