Maison interface Web Tutoriel H5 2 exemples d'animation de rotation HTML5 Canvas

2 exemples d'animation de rotation HTML5 Canvas

Jun 22, 2018 pm 03:07 PM
canvas html5 Animation de rotation

Cet article présente principalement deux exemples de code d'animation de rotation HTML5 Canvas, qui implémente un effet Tai Chi rotatif. Les amis qui apprennent l'animation de rotation HTML5 Canvas peuvent se référer au

Rendu :
2 exemples d'animation de rotation HTML5 Canvas.

Méthode 1 :

<!DOCTYPE HTML> 

  <html> 

  <body> 

  <canvas id="myCanvas" width="500" height="500">your browser does not support the canvas tag</canvas> 

  <script type="text/javascript"> 

  var deg = 0; 

  var r = 30; 

  var rl = 100; 

  function drawTaiji() { 

  var canvas = document.getElementById(&#39;myCanvas&#39;); 

  var context = canvas.getContext(&#39;2d&#39;); 

  var colorA = "rgb(0, 0, 0)"; 

  var colorB = "red"; 

  var px =Math.sin(deg)*r; 

  var py =Math.cos(deg)*r; 

  context.clearRect(0, 0, 300, 300); 

  context.beginPath(); 

  context.fillStyle = colorA; 

  context.arc(rl, rl, 60, 0.5 * Math.PI +deg, 1.5 * Math.PI +deg, true); 

  context.closePath(); 

  context.fill(); 

  context.fillStyle = colorB; 

  context.beginPath(); 

  context.arc(rl, rl, 60, 1.5* Math.PI +deg, 0.5 * Math.PI +deg, true); 

  context.closePath(); 

  context.fill(); 

  context.fillStyle = colorB; 

  context.beginPath(); 

  context.arc(rl+px, rl-py, 30, 0.5 * Math.PI + deg, 1.5 * Math.PI + deg, true); 

  context.closePath(); 

  context.fill(); 

  context.fillStyle = colorA; 

  context.beginPath(); 

  context.arc(rl-px, rl+py, 30, 1.5 * Math.PI + deg, 0.5 * Math.PI + deg, true); 

  context.closePath(); 

  context.fill(); 

  context.fillStyle = colorA; 

  context.beginPath(); 

  context.arc(rl+px, rl-py, 8, 0, 2 * Math.PI, true); 

  context.closePath(); 

  context.fill(); 

  context.fillStyle = colorB; 

  context.beginPath(); 

  context.arc(rl-px, rl+py, 8, 0, 2 * Math.PI, true); 

  context.closePath(); 

  context.fill(); 

  deg +=0.1; 

  } 

  setInterval(drawTaiji, 100);

  </script> </p>
<p></body> 

  </html>

Méthode 2 :

<!DOCTYPE HTML> 

  <html> 

  <body> 

  <canvas id="myCanvas" width="500" height="500" >your browser does not support the canvas tag </canvas> 

  <script type="text/javascript"> 

  var canvas = document.getElementById(&#39;myCanvas&#39;); 

  var ctx = canvas.getContext("2d"); 

  var angle = 0; 

  var count = 360; 

  var clrA = &#39;#000&#39;; 

  var clrB = &#39;red&#39;; 

  function taiji(x, y, radius, angle, wise) { 

  angleangle = angle || 0; 

  wisewise = wise ? 1 : -1; 

  ctx.save(); 

  ctx.translate(x, y); 

  ctx.rotate(angle); 

  ctx.fillStyle = clrA; 

  ctx.beginPath(); 

  ctx.arc(0, 0, radius, 0, Math.PI, true); 

  ctx.fill(); 

  ctx.beginPath(); 

  ctx.fillStyle = clrB; 

  ctx.arc(0, 0, radius, 0, Math.PI, false); 

  ctx.fill(); 

  ctx.fillStyle = clrB; 

  ctx.beginPath(); 

  ctx.arc(wise * -0.5 * radius, 0, radius / 2, 0, Math.PI * 2, true); 

  ctx.fill(); 

  ctx.beginPath(); 

  ctx.fillStyle = clrA; 

  ctx.arc(wise * +0.5 * radius, 0, radius / 2, 0, Math.PI * 2, false); 

  ctx.arc(wise * -0.5 * radius, 0, radius / 10, 0, Math.PI * 2, true); 

  ctx.fill(); 

  ctx.beginPath(); 

  ctx.fillStyle = clrB; 

  ctx.arc(wise * +0.5 * radius, 0, radius / 10, 0, Math.PI * 2, true); 

  ctx.fill(); 

  ctx.restore(); 

  } 

  loop = setInterval(function () { 

  beginTag = true; 

  ctx.clearRect(0, 0, canvas.width, canvas.height); 

  taiji(200, 200, 50, Math.PI * (angle / count) * 2, true); 

  //taiji(350, 350, 50, Math.PI * ((count - angle) / count) * 2, false); 

  angle = (angle + 5) % count; 

  }, 50); 

  </script> </p>
<p></body> 

  </html>

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile pour. Tout le monde apprend. Aide, veuillez faire attention au site Web PHP chinois pour plus de contenu connexe !

Recommandations associées :

Comment utiliser le canevas HTML5 pour faire tomber des flocons de neige

Comment utiliser jQuery et HTML5 pour créer le tremblement du téléphone Les effets spéciaux du changement de vêtements

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 de ce site Web
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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Porce de variable PHP expliquée
4 Il y a quelques semaines By 百草
Conseils pour écrire des commentaires PHP
4 Il y a quelques semaines By 百草
Commentant le code en php
4 Il y a quelques semaines By 百草
<🎜>: Grow A Garden - Guide complet des marchands itinérants
3 Il y a quelques semaines By Jack chen

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1510
276
Définition des vocabulaires personnalisés en utilisant le balisage HTML5 Schema.org. Définition des vocabulaires personnalisés en utilisant le balisage HTML5 Schema.org. Jul 31, 2025 am 10:50 AM

La balise Schema.org aide les moteurs de recherche à comprendre le format de données structuré du contenu de la page Web via des balises sémantiques (telles que la portée de l'élément, le type d'élément, ItemProp); Il peut être utilisé pour définir le vocabulaire personnalisé, les méthodes incluent l'extension des types existants ou l'utilisation de Type supplémentaire pour introduire de nouveaux types; Dans les applications réelles, en gardant la structure claire, en utilisant d'abord les attributs officiels, tester la validité du code et garantir que les types personnalisés sont accessibles; Les précautions comprennent l'acceptation de soutien partiel, d'éviter les erreurs d'orthographe et de choisir un format approprié tel que JSON-LD.

Comment les erreurs de gestion de l'analyseur HTML5? Comment les erreurs de gestion de l'analyseur HTML5? Aug 02, 2025 am 07:51 AM

Html5parsershandlemalformedhtmlbyfollowingAdEtterministicalgorithmtoSuSureConsistentAndrobustrendering.1.formismatchathedoruncosedtags, theParserautomAticalCloseStagsAndadjustSnestingBasedonContex

Que sont les attributs de données HTML5? Que sont les attributs de données HTML5? Aug 06, 2025 pm 05:39 PM

Html5dataattributesarecustom, validhtmlattributesUSEdTostoreExtrainWeoleLelementsforjavaScriptorcss.1.TheyaredEfinedAdata- *

Comment montrer les contrôles pour la vidéo HTML5? Comment montrer les contrôles pour la vidéo HTML5? Jul 26, 2025 am 08:11 AM

Pour afficher le contrôle de lecture des vidéos HTML5, vous devez ajouter l'attribut de contrôle; 1. Ajoutez l'attribut des contrôles à la balise pour afficher la lecture par défaut, la pause, le volume, la barre de progression, le plein écran et d'autres contrôles; 2. Si vous avez besoin de personnaliser l'affichage, vous pouvez définir dynamiquement Video.Controls sur True ou False par JavaScript; 3. Le style de contrôle par défaut varie selon le navigateur et le système d'exploitation. Si vous devez personnaliser complètement l'interface, vous devez supprimer les contrôles et utiliser JavaScript pour créer des contrôles personnalisés. L'ajout de l'attribut de contrôle est l'étape de base et nécessaire pour implémenter le contrôle de lecture.

Quelle est la différence entre  et  dans html5? Quelle est la différence entre et dans html5? Aug 04, 2025 am 11:02 AM

Veuillez clarifier les deux éléments ou attributs HTML5 que vous souhaitez comparer, tels que Versus, contre, ou ID avec classe, afin que je puisse fournir une explication claire et pratique de la différence.

Comment fonctionne l'attribut orthographique dans HTML5? Comment fonctionne l'attribut orthographique dans HTML5? Aug 03, 2025 pm 02:46 PM

THESPELLCHECKATTRIBUTInHTML5ControlswetHetHebrowserChecksSpellingandgrammarinedableElements.2.itWorksonInputFields, TextAreas et ContetableElementsByunderLiningerRorSinredorGreen.3.Setto "True" Toenableor "FAUX, FAUSE, TODISSABLE,

Comment ajouter une image à une page Web à l'aide de HTML5? Comment ajouter une image à une page Web à l'aide de HTML5? Jul 27, 2025 am 02:46 AM

La méthode de base pour ajouter des images à une page Web est d'utiliser des balises et de faire correspondre les attributs nécessaires. Tout d'abord, utilisez des balises auto-clôturées et spécifiez le chemin d'image via l'attribut SRC et fournissez un texte alternatif; Deuxièmement, cliquez sur Sauter dans la balise pour envelopper l'image; Deuxièmement, utilisez de nouvelles balises HTML5 pour afficher l'image et le titre; De plus, vous pouvez définir la largeur, la hauteur ou utiliser CSS pour contrôler la taille de l'image, et utiliser chargement = "Lazy" pour obtenir un chargement paresseux pour optimiser les performances.

Comment créer une liste commandée dans HTML5? Comment créer une liste commandée dans HTML5? Jul 30, 2025 am 05:23 AM

La création d'une liste commandée dans HTML5 nécessite une utilisation et des balises. 1. Utilisez la liste commandée pour définir la liste commandée et utilisez-la pour représenter chaque élément en interne. 2. Vous pouvez spécifier le numéro de départ via l'attribut de démarrage, 3. Définissez le type de numéro tel que les chiffres, les lettres ou les chiffres romains via l'attribut type. 4. Il est recommandé d'utiliser un compteur de type list de la liste CSS pour obtenir un contrôle de style plus flexible pour séparer les structures et les styles.

See all articles