Table des matières
Assurez-vous de lire le passage suivant
Allons droit au but
Maison Applet WeChat Développement WeChat Exemple de didacticiel WeChat Mini Program-Snake

Exemple de didacticiel WeChat Mini Program-Snake

May 31, 2017 pm 04:58 PM

Il y a longtemps, il y a presque six mois, l'auteur a publié un article sur le développement de la version OC de Snake. Après plusieurs mois, le mini programme WeChat est sorti, alors je l'ai réécrit alors que je n'avais rien à faire. do. Une version mini du programme

Assurez-vous de lire le passage suivant

L'auteur travaille sur iOS et la plupart des mini programmes sont des connaissances frontales. n'a jamais fait de développement similaire auparavant, donc l'écriture du code est assez mauvaise et beaucoup de choses ont été écrites lors de la vérification des informations. N'hésitez pas à commenter, Amen !

Allons droit au but

Mise en page

Je ne présenterai pas le mini programme Le document officiel contient des documents détaillés

Exemple de didacticiel WeChat Mini Program-Snake

Voici à quoi ça ressemble. L'interface du jeu est similaire à la version précédente d'OC. Avec le niveau de l'auteur, je ne peux que la concevoir comme ça. Après tout, je ne le suis pas. un professionnel. Pourquoi ce serpent ressemble-t-il à ceci ? A J (harmonie) B (harmonie) : joie :

Jetons d'abord un coup d'œil au fichier wxml utilisé pour ajouter des composants

<view class="backView">
  <canvas canvas-id="snakeCanvas" class="canvas"/>
</view>
<view class="controlView">
    <button class="btnClass" bindtap="changeDirection" id="up">up</button>
    <view style="display:flex; height:33.33%">
        <button class="btnClass" bindtap="changeDirection" id="left">left</button>
        <button class="btnClass" bindtap="startGame" >{{btnTitle}}</button>
        <button class="btnClass" bindtap="changeDirection" id="right">right</button>
    </view>
    <button class="btnClass" bindtap="changeDirection" id="down">down</button>
</view>
Copier après la connexion
Le contenu est assez simple, la vue ci-dessus, à l'intérieur Mettez un canevas, une vue en dessous, et mettez 5

boutons

Jetons un coup d'œil à la mise en page

wxss

Exemple de didacticiel WeChat Mini Program-Snake

Il n'y a pas beaucoup de contenu. En fait, l'auteur ne connaît pas grand-chose au CSS. Je l'ai appris il y a de nombreuses années, mais il a été éliminé avec :hankey:. être une meilleure méthode de mise en page, mais je m'en contenterai

Implémentation fonctionnelle

La mise en page est toujours très simple Bien que je ne la connaisse pas, je peux toujours la comprendre après un. quelques tentatives supplémentaires. Ensuite, l'implémentation de la logique fonctionnelle est au centre de l'attention. Le langage de programmation est bien sûr js.

Au fait, quand j'apprenais le js, j'écrivais un livre plein de notes, mais... oubliez ça, laissez passer le passé et ne mentionnez pas le passé.

L'idée est en fait la même que la version OC

Snake : créez un tableau de coordonnées de points, puis dessinez un rectangle sur la toile avec le point de coordonnées comme centre

Nourriture : un point de coordonnées aléatoire, le point ne peut pas être sur le serpent, sinon il sera re-randomisé

Mouvement du serpent : il suffit de déplacer les coordonnées de la queue du serpent devant la tête du serpent

Manger de la nourriture : après chaque mouvement du serpent, si la tête du serpent Les coordonnées sont les mêmes que les coordonnées de la nourriture, alors le serpent grandit

Croissance du serpent : ajoutez une coordonnée de point derrière la queue du serpent

Le jeu se termine : la tête du serpent franchit la frontière ou frappe son propre corps, le jeu se termine

Créer un serpent

//创建蛇,初始为5节,nodeWH为矩形的边长
function createSnake(){
  nodes.splice(0, nodes.length) //清空数组
  for (var i = 4; i >= 0; i--) {
    var node = new Node(nodeWH * (i + 0.5), nodeWH * 0.5)
    nodes.push(node);
  }
}
Copier après la connexion
Créer de la nourriture

function createFood(){
  //矩形的边长为10,画布宽度为250,高度为350,所以x只能取5-245,y只能取5-345
  var x = parseInt(Math.random() * 24) * nodeWH + nodeWH * 0.5
  var y = parseInt(Math.random() * 34) * nodeWH + nodeWH * 0.5

  //如果食物的坐标在蛇身上,则重新创建
  for (var i = 0; i < nodes.length; i++) {
    var node = nodes[i]
    if (node.x == x && node.y == y) {
      createFood()
      return
    }
  }
  //Node为自定义的类,有两个属性x和y,表示坐标
  food = new Node(x,y)
}
Copier après la connexion
Mouvement du serpent

Le mouvement du serpent a une direction, utilisez donc une direction variable pour enregistrer la direction de déplacement du serpent Lorsque le jeu démarre, la valeur par défaut est de se déplacer vers la droite.

Il est mentionné ci-dessus que le mouvement du serpent consiste à déplacer les coordonnées de la queue du serpent vers l'avant de la tête du serpent, mais cet avant n'est pas fixe, mais est jugé en fonction de la direction. se déplace vers la droite, le côté droit est l'avant. Analogie

Manger de la nourriture et croissance du serpent

Après chaque mouvement, il est OK de juger si les coordonnées de la tête du serpent sont égales à celles du serpent. coordonnées de la nourriture. Après avoir mangé la nourriture, la longueur du serpent augmentera, et Pour créer une nouvelle nourriture

function isEatedFood(){
  var head = nodes[0]
  if (head.x == food.x && head.y == food.y) {
    score++
    nodes.push(lastPoint)
    createFood()
  }
}
Copier après la connexion
Dans le code ci-dessus, lastPoint est la coordonnée de la queue du serpent avant chaque mouvement de le serpent. Si de la nourriture est mangée après avoir bougé, ajoutez-en une directement à la queue du serpent avant de bouger

Le jeu est terminé

Après chaque mouvement, vous devez juger si le serpent. la tête dépasse la toile ou frappe votre propre corps

function isDestroy(){
  var head = nodes[0]
  //判断是否撞到自己身体
  for (var i = 1; i < nodes.length; i++) {
    var node = nodes[i]
    if (head.x == node.x && head.y == node.y) {
      gameOver()
    }
  }
  //判断水平方向是否越界
  if (head.x < 5 || head.x > 245) {
    gameOver()
  }
  //判断垂直方向是否越界
  if (head.y < 5 || head.y > 345) {
    gameOver()
  }
}
Copier après la connexion
Dessin d'interface

Chaque mouvement doit être dessiné, donc une minuterie est nécessaire. L'auteur utilise setInterval

<. 🎜>On dit en ligne que les performances de setInterval ne sont pas très bonnes. Il est recommandé d'utiliser requestAnimationFrame, mais malheureusement, l'auteur ne sait pas comment faire. Pour être précis, je ne sais pas comment faire une pause <🎜. >
function move(){
  lastPoint = nodes[nodes.length - 1]
  var node = nodes[0]
  var newNode = {x: node.x, y: node.y}
  switch (direction) {
    case &#39;up&#39;:
      newNode.y -= nodeWH;
    break;
    case &#39;left&#39;:
      newNode.x -= nodeWH;
    break;
    case &#39;right&#39;:
      newNode.x += nodeWH;
    break;
    case &#39;down&#39;:
      newNode.y += nodeWH;
    break;
  } 
  nodes.pop()
  nodes.unshift(newNode)
  moveEnd()
}

function startGame() {
  if (isGameOver) {
    direction = &#39;right&#39;
    createSnake()
    createFood()
    score = 0
    isGameOver = false
  }
  timer = setInterval(move,300)
}
Copier après la connexion

L'utilisation de la méthode ci-dessus peut réaliser le mouvement du serpent et le redessin de l'interface. Cependant, chaque fois que animateId est exécuté, une nouvelle valeur lui sera attribuée, donc l'utilisation de CancelAnimationFrame(animateId ) ne peut pas être mise en pause. . S'il y a un maître qui comprend le développement front-end, veuillez me guider

var animateId = 0
function move(){
    .
    .
    .
    animateId = requestAnimationFrame(move)
}
function startGame(){
    .
    .
    .
    animateId = requestAnimationFrame(move)
}
Copier après la connexion
Presque toute la logique est comme ça Si vous aimez étudier, vous pouvez l'essayer vous-même

[Recommandations associées. ]

1.

Partager un code d'effets spéciaux de serpent implémenté en html5

2 Un exemple de code d'écriture d'un jeu de serpent en Python

3 . Exemple de code d'implémentation Java de Snake

4 [HTML5 Code Art] Jeu Snake avec 17 lignes de code

5 .

JavaScript est simple et gourmand, essentiellement orienté objet.

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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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 !

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)

Développer l'applet WeChat en utilisant Python Développer l'applet WeChat en utilisant Python Jun 17, 2023 pm 06:34 PM

Avec la popularité de la technologie Internet mobile et des smartphones, WeChat est devenu une application indispensable dans la vie des gens. Les mini-programmes WeChat permettent aux gens d'utiliser directement des mini-programmes pour résoudre certains besoins simples sans télécharger ni installer d'applications. Cet article explique comment utiliser Python pour développer l'applet WeChat. 1. Préparation Avant d'utiliser Python pour développer l'applet WeChat, vous devez installer la bibliothèque Python appropriée. Il est recommandé d'utiliser ici les deux bibliothèques wxpy et itchat. wxpy est une machine WeChat

Les petits programmes peuvent-ils réagir ? Les petits programmes peuvent-ils réagir ? Dec 29, 2022 am 11:06 AM

Les mini-programmes peuvent utiliser React. Comment l'utiliser : 1. Implémentez un moteur de rendu basé sur "react-reconciler" et générez un DSL ; 2. Créez un mini composant de programme pour analyser et restituer le DSL 3. Installez npm et exécutez le développeur Build ; npm dans l'outil ; 4. Introduisez le package dans votre propre page, puis utilisez l'API pour terminer le développement.

Implémenter des effets de retournement de cartes dans les mini-programmes WeChat Implémenter des effets de retournement de cartes dans les mini-programmes WeChat Nov 21, 2023 am 10:55 AM

Implémentation d'effets de retournement de cartes dans les mini-programmes WeChat Dans les mini-programmes WeChat, la mise en œuvre d'effets de retournement de cartes est un effet d'animation courant qui peut améliorer l'expérience utilisateur et l'attractivité des interactions d'interface. Ce qui suit présentera en détail comment implémenter l'effet de retournement de carte dans l'applet WeChat et fournira des exemples de code pertinents. Tout d'abord, vous devez définir deux éléments de carte dans le fichier de mise en page du mini-programme, un pour afficher le contenu avant et un pour afficher le contenu arrière. L'exemple de code spécifique est le suivant : &lt;!--index.wxml-. -&gt;&l

Alipay a lancé le mini-programme « Chinese Character Picking-Rare Characters » pour collecter et compléter la bibliothèque de personnages rares. Alipay a lancé le mini-programme « Chinese Character Picking-Rare Characters » pour collecter et compléter la bibliothèque de personnages rares. Oct 31, 2023 pm 09:25 PM

Selon les informations de ce site du 31 octobre, le 27 mai de cette année, Ant Group a annoncé le lancement du « Projet de sélection de caractères chinois » et a récemment inauguré de nouveaux progrès : Alipay a lancé le mini-programme « Sélection de caractères chinois-Caractères rares ». pour collecter des collections de la société Les personnages rares complètent la bibliothèque de personnages rares et offrent différentes expériences de saisie pour les personnages rares afin d'aider à améliorer la méthode de saisie des caractères rares dans Alipay. Actuellement, les utilisateurs peuvent accéder à l'applet « Caractères peu communs » en recherchant des mots-clés tels que « capture de caractères chinois » et « caractères rares ». Dans le mini-programme, les utilisateurs peuvent soumettre des images de caractères rares qui n'ont pas été reconnus et saisis par le système. Après confirmation, les ingénieurs d'Alipay effectueront des entrées supplémentaires dans la bibliothèque de polices. Ce site Web a remarqué que les utilisateurs peuvent également découvrir la dernière méthode de saisie par fractionnement de mots dans le mini-programme. Cette méthode de saisie est conçue pour les mots rares dont la prononciation n'est pas claire. Démantèlement utilisateur

Comment Uniapp réalise une conversion rapide entre les mini-programmes et H5 Comment Uniapp réalise une conversion rapide entre les mini-programmes et H5 Oct 20, 2023 pm 02:12 PM

La manière dont Uniapp peut réaliser une conversion rapide entre les mini-programmes et le H5 nécessite des exemples de code spécifiques. Ces dernières années, avec le développement de l'Internet mobile et la popularité des smartphones, les mini-programmes et le H5 sont devenus des formulaires de candidature indispensables. En tant que cadre de développement multiplateforme, uniapp peut réaliser rapidement la conversion entre les petits programmes et H5 sur la base d'un ensemble de codes, améliorant considérablement l'efficacité du développement. Cet article présentera comment Uniapp peut réaliser une conversion rapide entre les mini-programmes et H5, et donnera des exemples de code spécifiques. 1. Introduction à uniapp unia

Tutoriel sur l'écriture d'un programme de chat simple en Python Tutoriel sur l'écriture d'un programme de chat simple en Python May 08, 2023 pm 06:37 PM

Idée d'implémentation x01 Mise en place du serveur Tout d'abord, côté serveur, le socket est utilisé pour accepter les messages. Chaque fois qu'une demande de socket est acceptée, un nouveau thread est ouvert pour gérer la distribution et l'acceptation des messages. En même temps, il y a un gestionnaire. pour gérer tous les Threads, réalisant ainsi le traitement des diverses fonctions du salon de discussion. La mise en place du client x02 est beaucoup plus simple que celle du serveur. La fonction du client est uniquement d'envoyer et de recevoir des messages, et de saisir des caractères spécifiques en fonction. règles spécifiques. Pour pouvoir utiliser différentes fonctions, il suffit donc, côté client, d'utiliser deux threads, l'un est dédié à la réception de messages et l'autre à l'envoi de messages. Quant à pourquoi ne pas en utiliser un, celui-là. c'est parce que, seulement

Comment devenir membre du mini-programme WeChat Comment devenir membre du mini-programme WeChat May 07, 2024 am 10:24 AM

1. Ouvrez le mini programme WeChat et entrez dans la page du mini programme correspondante. 2. Recherchez l'entrée relative aux membres sur la page du mini-programme. Habituellement, l'entrée des membres se trouve dans la barre de navigation inférieure ou dans le centre personnel. 3. Cliquez sur le portail d'adhésion pour accéder à la page de demande d'adhésion. 4. Sur la page de demande d'adhésion, remplissez les informations pertinentes, telles que le numéro de téléphone portable, le nom, etc. Après avoir complété les informations, soumettez la demande. 5. Le mini-programme examinera la demande d'adhésion. Après avoir réussi l'examen, l'utilisateur pourra devenir membre du mini-programme WeChat. 6. En tant que membre, les utilisateurs bénéficieront de davantage de droits d'adhésion, tels que des points, des coupons, des activités exclusives aux membres, etc.

Comment gérer l'enregistrement du mini-programme Comment gérer l'enregistrement du mini-programme Sep 13, 2023 pm 04:36 PM

Étapes de l'opération d'enregistrement du mini-programme : 1. Préparez des copies des cartes d'identité personnelles, des licences commerciales, des cartes d'identité des personnes morales et d'autres documents de classement ; 2. Connectez-vous à l'arrière-plan de gestion du mini-programme ; 3. Accédez à la page des paramètres du mini-programme ; Sélectionnez " "Paramètres de base" ; 5. Remplissez les informations de dépôt ; 6. Téléchargez les documents de dépôt ; 7. Soumettez la demande de dépôt ; 8. Attendez les résultats de l'examen. Si le dépôt n'est pas accepté, apportez des modifications en fonction des raisons. et soumettre à nouveau la demande de dépôt; 9. Les opérations de suivi du dépôt sont celles du Can.

See all articles