国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
次の段落を必ずお読みください
本題に入ります
ホームページ WeChat アプレット WeChatの開発 WeChat ミニ プログラム - Snake チュートリアルの例

WeChat ミニ プログラム - Snake チュートリアルの例

May 31, 2017 pm 04:58 PM

ずっと前、ほぼ半年前、著者は Snake の OC バージョンの開発に関する記事を公開しました。數(shù)か月後、WeChat ミニ プログラムが登場したので、私は何もすることがなく、別のミニ プログラムを書きました。プログラム編

次の段落を必ずお読みください

作者はiOSを使っており、小さなプログラムのほとんどはフロントエンドの知識があり、これまで同様の開発をしたことがないため、コードの書き方はかなり下手です。 、などなど、情報(bào)を確認(rèn)しながら書きましたが、ポチってください、アーメン!

本題に入ります

ページレイアウト

公式ドキュメントには詳細(xì)なドキュメントがありますので、まず寫真を見てみましょう

WeChat ミニ プログラム - Snake チュートリアルの例

ゲームインターフェイスは以前のOC版とほぼ同じです 作者のレベルではこれしかデザインできません 何でこのヘビはJ(ハーモニー)に見えるのですか? a B (ハーモニー)? :joy:

まずは見てみましょう。コンポーネント

<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>

の wxml ファイルの內(nèi)容は非常に単純です。その中にはキャンバスが含まれています。 、下部に 5 つの ボタンがあるビュー

もう一度見てみましょう wxss レイアウト

WeChat ミニ プログラム - Snake チュートリアルの例

內(nèi)容はあまりありません。実際、作者は CSS についてあまり知りません。何年も前にありましたが、:hankey: で削除されました。もっと良いレイアウト方法があるかもしれませんが、それで済ませます

関數(shù)の実裝

レイアウトはまだ非常にシンプルですが、慣れていません, もう少し試してみればまだわかります。次のステップは関數(shù)ロジックを?qū)g裝することです。もちろん、プログラミング言語は js です。

ところで、私がjsを勉強(qiáng)していたとき、メモだらけの本を書きましたが...それは忘れて、過去を過ぎ去って、過去について言及しないでください。

考え方はOC版と同じです

スネーク: 點(diǎn)座標(biāo)配列を作成し、その座標(biāo)點(diǎn)を中心にキャンバス上に四角形を描畫します

食べ物: オンにできない點(diǎn)をランダムに座標(biāo)しますヘビ、そうでなければ再びランダム化されます

ヘビの動き: ヘビの頭の前でヘビの尻尾の座標(biāo)を移動するだけです

食べ物を食べる: 各ヘビが動いた後、ヘビの頭の座標(biāo)が同じ場合食べ物の座標(biāo)に応じて、ヘビは成長します

ヘビの成長: ヘビの尻尾の後ろにポイント座標(biāo)を追加するだけです

ゲーム終了: ヘビの頭が境界を越えるか、自分の體にぶつかると、ゲームが終了します

ヘビを作成します

//創(chuàng)建蛇,初始為5節(jié),nodeWH為矩形的邊長
function createSnake(){
  nodes.splice(0, nodes.length) //清空數(shù)組
  for (var i = 4; i >= 0; i--) {
    var node = new Node(nodeWH * (i + 0.5), nodeWH * 0.5)
    nodes.push(node);
  }
}

食べ物を作成します

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

  //如果食物的坐標(biāo)在蛇身上,則重新創(chuàng)建
  for (var i = 0; i < nodes.length; i++) {
    var node = nodes[i]
    if (node.x == x && node.y == y) {
      createFood()
      return
    }
  }
  //Node為自定義的類,有兩個屬性x和y,表示坐標(biāo)
  food = new Node(x,y)
}

ヘビの動き

ヘビの動きには方向があるので、変數(shù)方向を使用してヘビの動きの方向を記録します。 ゲーム開始時のデフォルトは右への動きです。

ヘビの動きはヘビの尻尾の座標(biāo)をヘビの頭の前に移動させると述べましたが、この前方は固定ではなく、右に動いたかどうかの方向に応じて判斷されます。 、右側(cè)が前、というように

食べる 食べ物と蛇が成長したら

各移動の後、蛇の頭の座標(biāo)が食べ物の座標(biāo)と等しいかどうかを判斷して大丈夫です。餌を追加すると、ヘビの長さが長くなり、新しい餌を作成する必要があります

function isEatedFood(){
  var head = nodes[0]
  if (head.x == food.x && head.y == food.y) {
    score++
    nodes.push(lastPoint)
    createFood()
  }
}

上記のコード、lastPoint は、ヘビの各移動前のヘビの尻尾の座標(biāo)です。移動後に餌を食べる場合は、次の値を追加するだけです。動く前にヘビの尾までのセクション

ゲームは終了です

それぞれの動きの後、ヘビの頭がキャンバスを超えているか、自分の體に當(dāng)たっているかどうかを判斷する必要があります

rreee

インターフェイスの描畫

すべてを描畫する必要があります作者は setInterval を使用しています

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()
  }
}

ネット上では setInterval のパフォーマンスがあまり良くないと言われていますが、 requestAnimationFrame を使用することをお勧めしますが、殘念ながら使い方がわかりません。正確には一時停止の仕方が分かりません

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)
}

上記の方法を使うとヘビの動きとインターフェースの再描畫が実現(xiàn)できますが、animateIdが実行されるたびに新しい値が代入されます。 , そのため、cancelAnimationFrame (animateId) を使用すると一時停止できません。フロントエンド開発を理解しているマスターがいたら、指導(dǎo)してください

ほぼ全體のロジックはこんな感じです。勉強(qiáng)したい人は自分で試してみてください。

[関連する推奨事項(xiàng)]

1. HTML5 で実裝された貪欲な実裝を共有します。ヘビを食べる特殊効果コード

2. Python を使用してヘビ ゲームを作成するコード例

3.ヘビを?qū)g裝するための Java

4. [HTML5 コードアート] 17 行のコードヘビを食べるゲーム

5. JavaScript はヘビを食べるのが簡単で、基本的にはオブジェクト指向です

以上がWeChat ミニ プログラム - Snake チュートリアルの例の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python を使用して WeChat アプレットを開発する Python を使用して WeChat アプレットを開発する Jun 17, 2023 pm 06:34 PM

モバイル インターネット技術(shù)とスマートフォンの普及により、WeChat は人々の生活に欠かせないアプリケーションになりました。 WeChat ミニ プログラムを使用すると、アプリケーションをダウンロードしてインストールすることなく、ミニ プログラムを直接使用して、いくつかの簡単なニーズを解決できます。この記事では、Python を使用して WeChat アプレットを開発する方法を紹介します。 1. 準(zhǔn)備 Python を使用して WeChat アプレットを開発する前に、関連する Python ライブラリをインストールする必要があります。ここでは、wxpy と itchat の 2 つのライブラリを使用することをお勧めします。 wxpy は WeChat マシンです

WeChat ミニ プログラムにカードめくり効果を?qū)g裝する WeChat ミニ プログラムにカードめくり効果を?qū)g裝する Nov 21, 2023 am 10:55 AM

WeChat ミニ プログラムでのカードめくり効果の実裝 WeChat ミニ プログラムでは、カードめくり効果の実裝は、ユーザー エクスペリエンスとインターフェイス インタラクションの魅力を向上させることができる一般的なアニメーション効果です。以下では、WeChat アプレットでカードめくりの特殊効果を?qū)g裝する方法と、関連するコード例を詳しく紹介します。まず、ミニ プログラムのページ レイアウト ファイルに 2 つのカード要素を定義する必要があります。1 つは前面のコンテンツを表示するため、もう 1 つは背面のコンテンツを表示するためです。具體的なサンプル コードは次のとおりです: &lt;!--index.wxml- ->&l

アリペイ、希少文字ライブラリを収集?補(bǔ)完する「漢字拾い-希少文字」ミニプログラムを開始 アリペイ、希少文字ライブラリを収集?補(bǔ)完する「漢字拾い-希少文字」ミニプログラムを開始 Oct 31, 2023 pm 09:25 PM

10月31日の當(dāng)サイトのニュースによると、今年5月27日、アント?グループは「漢字拾いプロジェクト」の立ち上げを発表し、最近新たな進(jìn)展を迎えた:アリペイが「漢字拾い-珍しい文字」ミニプログラムを開始協(xié)會からコレクションを収集する レア文字は、レア文字ライブラリを補(bǔ)完し、アリペイでのレア文字入力方法の改善に役立つように、レア文字に異なる入力エクスペリエンスを提供します?,F(xiàn)在、ユーザーは「漢字ピックアップ」「珍文字」などのキーワードで検索することで「珍文字」アプレットに入ることができる。ミニプログラムでは、ユーザーがシステムで認(rèn)識?入力されなかった珍しい文字の畫像を送信し、確認(rèn)後、Alipay のエンジニアがフォントライブラリに追加エントリを作成します。當(dāng)サイトでは、発音が不明瞭な珍しい単語を?qū)澫螭趣筏孔钚陇螀g語分割入力方法をミニプログラムで體験できることに注目しました。ユーザー解體

小さなプログラムでも反応できますか? 小さなプログラムでも反応できますか? Dec 29, 2022 am 11:06 AM

ミニプログラムはreactを利用することができます 使い方: 1. 「react-reconciler」に基づいてレンダラーを?qū)g裝し、DSLを生成します; 2. DSLを解析してレンダリングするためのミニプログラムコンポーネントを作成します; 3. npmをインストールし、開発者ビルドを?qū)g行しますツール內(nèi)の npm; 4. パッケージを獨(dú)自のページに導(dǎo)入し、API を使用して開発を完了します。

uniapp がミニ プログラムと H5 の間で迅速な変換を?qū)g現(xiàn)する方法 uniapp がミニ プログラムと H5 の間で迅速な変換を?qū)g現(xiàn)する方法 Oct 20, 2023 pm 02:12 PM

uniapp がミニ プログラムと H5 の間で迅速な変換を?qū)g現(xiàn)するには、具體的なコード例が必要ですが、近年、モバイル インターネットの発展とスマートフォンの普及に伴い、ミニ プログラムと H5 は不可欠なアプリケーション形式となっています。クロスプラットフォーム開発フレームワークとして、uniapp は一連のコードに基づいて小規(guī)模プログラムと H5 間の変換を迅速に実現(xiàn)し、開発効率を大幅に向上させます。この記事では、uniapp がミニ プログラムと H5 の間で迅速な変換を?qū)g現(xiàn)する方法と、具體的なコード例を紹介します。 1. uniapp uniaの紹介

ミニ プログラムでパブリック アカウント テンプレート メッセージを使用する方法を説明します (詳細(xì)なアイデア付き) ミニ プログラムでパブリック アカウント テンプレート メッセージを使用する方法を説明します (詳細(xì)なアイデア付き) Nov 04, 2022 pm 04:53 PM

この記事では、WeChat ミニ プログラムに関するいくつかの関連事項(xiàng)を紹介します。主に、ミニ プログラムでパブリック アカウント テンプレート メッセージを使用する方法を紹介します。一緒に見てみましょう。皆さんのお役に立てれば幸いです。

Python で簡単なチャット プログラムを作成するためのチュートリアル Python で簡単なチャット プログラムを作成するためのチュートリアル May 08, 2023 pm 06:37 PM

実裝アイデア: チャット ルームのさまざまな機(jī)能を処理するために、スレッドのサーバー側(cè)を確立します。x02 クライアントの確立はサーバーよりもはるかに簡単です。クライアントの機(jī)能はメッセージの送受信と、特定の文字を特定の規(guī)則に従って入力するため、クライアント側(cè)では、メッセージ受信専用とメッセージ送信専用の 2 つのスレッドを使用するだけで、さまざまな機(jī)能を使用できます。使用しないでください。

PHP とミニプログラムを使用した地理的位置特定と地図表示 PHP とミニプログラムを使用した地理的位置特定と地図表示 Jul 04, 2023 pm 04:01 PM

PHP およびミニ プログラムの地理位置測位と地図表示 地理位置測位と地図表示は、現(xiàn)代のテクノロジーにおいて必要な機(jī)能の 1 つになっています。モバイルデバイスの普及に伴い、測位と地図表示に対する人々の需要も高まっています。開発プロセスでは、PHP とアプレットの 2 つのテクノロジーが一般的に選択されます。この記事では、PHP およびミニ プログラムでの地理的位置の測位と地図表示の実裝方法を紹介し、対応するコード例を添付します。 1. PHP での地理位置情報(bào) PHP では、サードパーティの地理位置情報(bào)を使用できます。

See all articles