Maison  >  Article  >  interface Web  >  Méthode détaillée d'implémentation de l'horloge de particules dans le canevas h5

Méthode détaillée d'implémentation de l'horloge de particules dans le canevas h5

不言
不言original
2018-09-06 17:43:572376parcourir

Le contenu de cet article concerne la méthode détaillée d'implémentation de l'horloge de particules dans le canevas h5. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Regardons d'abord l'effet de l'horloge à particules, comme suit :

Méthode détaillée dimplémentation de lhorloge de particules dans le canevas h5

Ensuite, nous allons implémenter via canvas et js,
créez d'abord un fichier html et ajoutez un canevas, comme suit :

nbsp;html>


    <meta>
    <title>Document</title>
    <style>
        .container{
            margin: 0, auto;
            width: 600px;
        }
    </style>


    <p>
        <canvas></canvas>
    </p>

Ce qui suit importe le matériau, digit.js, et le matériau est assemblé en tableaux bidimensionnels un par un Nombres, total : 0-9 et deux-points, dix caractères, comme suit :

Méthode détaillée dimplémentation de lhorloge de particules dans le canevas h5

Vous pouvez voir que les caractères de 1 composent
Commençons par créer le canevas :

function Clock() {
        var canvas = document.getElementById("canvas");
        canvas.width = 600;
        canvas.height = 100;
        this.cxt = canvas.getContext('2d');
        this.cxt.fillStyle="#ddd";
        this.cxt.fillRect(0, 0, 500, 100);
    }

Le code ci-dessus permet de dessiner un petit canevas gris dans le navigateur
Commençons l'analyse :
1. Comprendre la matrice de données ? C'est un tableau multidimensionnel
2. Comment dessiner un cercle ?
2.1 Faut-il d'abord connaître le rayon ?

Méthode détaillée dimplémentation de lhorloge de particules dans le canevas h5

D'après la figure ci-dessus, les positions du centre du cercle sont :

r+1
r+1 + (r+1)*2*1
r+1 + (r+1)*2*2
。。。
r+1 + (r+1)*2*i

En même temps, vous pouvez également obtenir le rayon en calculant la hauteur du cercle, comme suit :
La hauteur d'un cercle est (r+1)*2, et la hauteur de la toile est composée de 10 cercles

canvasHeight = (r+1)*2*10

Si la hauteur de la toile est Réglez-la sur 100, alors r sort, le centre xy sort également et le cercle commence à être dessiné
Tout d'abord, ajoutez une déclaration à l'objet Clock ci-dessus pour calculer r

this.r = 100/20-1;

Ci-dessous je suis dans Clock Ajoutez la méthode draw au prototype

Clock.prototype.draw = function(num, index) {
        this.cxt.fillStyle="#000";
        for (let i=0; i<digit><p>draw reçoit 2 paramètres, le premier est l'index des caractères, le la deuxième est la séquence de décalage des caractères, 70 est une distance de décalage, qui peut être personnalisée. <br>Le premier for obtient le tableau de caractères à restituer. Le second for prend chaque ligne pour le rendu et ne la restitue que sous la forme 1. Les paramètres pour dessiner un cercle sont principalement x, y, r</p>
<p> Le suivant L'étape consiste à obtenir l'heure. Nous pouvons obtenir directement l'heure à partir de la nouvelle date en utilisant des expressions régulières, comme suit : </p>
<pre class="brush:php;toolbar:false">Clock.prototype.getTime = function() {
        var reg = /(\d)(\d):(\d)(\d):(\d)(\d)/.exec(new Date());
        var data = [];
        data.push(reg[1], reg[2], 10, reg[3], reg[4], 10, reg[5], reg[6]);
        for (var i=0; i<data.length><p>Les heures, les minutes et les secondes peuvent être facilement obtenues via des expressions régulières. faites attention au format correspondant, où 10 signifie Le 10ème caractère dans digit.js, c'est-à-dire les deux points <br> Notez qu'il y aura un problème lors du dessin comme celui-ci, c'est-à-dire que le canevas ne peut pas être actualisé. ajoutez ceci </p>
<pre class="brush:php;toolbar:false">canvas.height= 100

et le code peut être exécuté ci-dessous, comme suit :

var clock = new Clock();
setInterval(()=>{
        clock.getTime();
    })

D'accord, c'est ok.

Recommandations associées :

Utilisez le canevas h5 pour réaliser l'effet dynamique de l'horloge

Canvas pour réaliser la particule éblouissante effet de mouvement

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn