ふるい抽選を実施するミニプログラム

ふるい抽選を実施するミニプログラム

この記事の例では、ふるい抽選を実装するためのミニプログラムの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

レンダリング

<!--pages/shaizi/index.wxml-->
<ビュークラス="コンテナ">
  <view class="shaizi_box {{activeTrue}}" style="transform: rotateX({{rotateX}}deg) rotateY({{rotateY}}deg) rotateZ({{rotateZ}}deg);">
    <view class="shaizi">1</view>
    <view class="shaizi">2</view>
    <view class="shaizi">3</view>
    <view class="shaizi">4</view>
    <view class="shaizi">5</view>
    <view class="shaizi">6</view>
  </ビュー>
  <text class="view"></text>
  <button bindtap="gamePlay">プレイ</button>
</ビュー>
// ページ/シャイジ/index.js
var dingshiqi1 = 0;
var dingshiqi2 = 0;
var dingshiqi3 = 0;
ページ({
 
  /**
   * ページの初期データ */
  データ: {
    アクティブTrue:"アクティブ1",
    回転X:0,
    回転Y:0,
    回転Z:0,
  },
 
  /**
   * ライフサイクル機能 - ページの読み込みをリッスンする*/
  onLoad: 関数 (オプション) {
    
  },
  ゲームプレイ:関数(){
    _that = this とします。
    this.setData({
      アクティブTrue:"アクティブ2",
      回転X:0,
      回転Y:0,
      回転Z:0,
    })
    クリア間隔(dingshiqi3)
    _possible = [ とします。
      { 値: 1、x: 0、y: 0 },
      { 値: 6、x: 180、y: 0 },
      { 値: 3、x: 0、y: -90 },
      { 値: 4、x: 0、y: 90 },
      { 値: 5、x: -90、y: 0 },
      { 値: 2、x: 90、y: 0 },
     ]
    // 乱数を抽出する準備をする let _random = Math.floor(Math.random() * 6);
    dingshiqi1 = setTimeout(() => {
      _that.setData({
        回転X:360,
        回転Y:250,
        回転Z:0,
      })
     }, 0);
     dingshiqi2 = setTimeout(() => {
      _that.setData({
        回転X:_可能[_ランダム].x、
        rotateY:_posible[_random].y、
      })
      dingshiqi3 = setTimeout(() => {
        _that.setData({
          アクティブTrue:"アクティブ1",
        })
      }, 4500);
     }, 800);
  },
  /**
   * ライフサイクル関数 - ページの初期レンダリングの完了を待機します*/
  onReady: 関数 () {
 
  },
 
  /**
   * ライフサイクル機能 - モニターページ表示 */
  onShow: 関数() {
 
  },
 
  /**
   * ライフサイクル機能 - ページの非表示を監視する*/
  onHide: 関数 () {
 
  },
 
  /**
   * ライフサイクル機能 - ページのアンインストールを監視する*/
  onUnload: 関数 () {
 
  },
 
  /**
   * ページ関連のイベント処理関数 - ユーザーのプルダウンアクションをリッスンする */
  onPullDownRefresh: 関数 () {
 
  },
 
  /**
   * ページ上のボトムイベントを処理する関数*/
  onReachBottom: 関数 () {
 
  },
 
  /**
   * ユーザーは右上隅をクリックして共有します*/
  onShareAppMessage: 関数 () {
 
  }
})
/* ページ/shaizi/index.wxss */
@keyframes 回転 {
  に {
   変換: 回転X(360度) 回転Y(250度);
  }
 }
 @keyframes shaiziCss{
  20%
   変換: rotateX(20deg);
  }
  60%
   変換: 回転X(20度) 回転Y(200度);
  }
  100%{
   変換: rotateX(100deg) rotateY(1000deg) rotateZ(-100deg);
  }
 }
 .shaizi_box {
  幅: 200rpx;
  高さ: 200rpx;
  マージン: 200rpx 自動;
  位置: 相対的;
  変換スタイル: 3D を保持します。
  アニメーション期間: 3秒;
  アニメーションタイミング関数: linear;
  遷移: すべて 1;
 }
.shaizi_box.active1{
  アニメーション: 5 秒回転、線形 0 秒、無限交互 !important;
}
.shaizi_box.active2{
  アニメーション: shaiziCss 2s !important;
}
.shaizi_box .shaizi {
  幅: 200rpx;
  高さ: 200rpx;
  ディスプレイ: フレックス;
  位置: 絶対;
  左: 0;
  上: 0;
  境界線: 1px実線 #000;
  背景: rgb(253, 250, 250);
  境界線の半径: 20rpx;
  フォントサイズ: 100rpx;
  色: 赤;
  テキスト配置: 中央;
 }
 .shaizi:n番目の子(1) {
  コンテンツの中央揃え: 中央;
  アイテムの位置を中央揃えにします。
  変換: translateZ(100rpx);
 }
 .shaizi:n番目の子(2) {
  コンテンツの両端揃え: スペースを空ける;
  アイテムの位置を中央揃えにします。
  変換: 回転X(-90度) 移動Z(100rpx);
 }
 .shaizi:n番目の子(3) {
  コンテンツの両端揃え: スペースを空ける;
  アイテムの位置を中央揃えにします。
  flex-wrap: ラップ;
  変換: 回転Y(90度) 移動Z(100rpx);
 }
 .shaizi:n番目の子(4) {
  flex-wrap: ラップ;
  コンテンツの中央揃え: 中央;
  アイテムの位置を中央揃えにします。
  変換: 回転Y(-90度) 移動Z(100rpx);
 }
 .shaizi:n番目の子(5) {
  flex-wrap: ラップ;
  コンテンツの中央揃え: 中央;
  アイテムの位置を中央揃えにします。
  変換: rotateX(90deg) translateZ(100rpx);
 }
 .shaizi:n番目の子(6) {
  flex-wrap: ラップ;
  コンテンツの中央揃え: 中央;
  アイテムの位置を中央揃えにします。
  変換: rotateX(-180deg) translateZ(100rpx);
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChatアプレットはふるいを振る効果を実現

<<:  MySQLdump コマンドを使用した MySQL データの移行

>>:  Linux にバイナリ MySQL をインストールして MySQL パスワードをクラックする方法

推薦する

Vueはドラッグプログレスバーを実装します

この記事では、ドラッグプログレスバーを実現するためのVueの具体的なコードを例として紹介します。具体...

JavaScript+html はフロントエンドページでランダム QR コード検証を実装します

クールなフロントエンドページのランダムQRコード検証を参考までに共有します。具体的な内容は次のとおり...

Dockerイメージの作成Dockerfileとコミット操作

イメージを構築するイメージを構築するには、主に 2 つの方法があります。実行中のコンテナをイメージに...

MySql 8.0.11 のインストールと設定のチュートリアル

公式ウェブサイトアドレス: https://dev.mysql.com/downloads/mysq...

MySQL 5.7.17 でパスワードを忘れた場合の対処方法

1. my.iniファイルにskip-grant-tablesを追加し、MySQLサーバーを再起動し...

MySQLへの外部ネットワークアクセスを許可し、MySQLアカウントのパスワードを変更する方法

mysqlのrootアカウント、普段はlocalhostか127.0.0.1で接続しています。会社の...

CSS変数var()の使い方を理解する必要があります

Web プロジェクトがどんどん大きくなると、CSS は天文学的な大きさと複雑さを増します。この問題を...

Apache での ModSecurity のインストール、有効化、および構成

ModSecurity は、Web サーバーに入るすべてのパケットをチェックする強力なパケット フィ...

Linux でリモート サーバー ファイルの状態を表示する方法

以下のように表示されます。 test コマンドはファイルが存在するかどうかを判断します。 ssh u...

MySQL マスタースレーブ遅延問題の解決方法

今日は、マスタースレーブ遅延が発生する理由とその対処方法について説明します。しっかり座って出発の準備...

MySQL 作成ルーチン権限に関する注意事項

1. ユーザーにルーチン作成権限がある場合は、プロシージャ | 関数を作成できます。 2. ユーザー...

Winows Server 2019 アクティベーション コードとボリューム ライセンス エディション KMS インストール キー GVLK

最近、社内文書の整理とファイルサーバーの構成を予定しています。以前はサーバー2003を使い慣れていま...

Docker を使用した ElasticSearch:7.8.0 クラスターのインストールに関する詳細なチュートリアル

ElasticSearch クラスターは、クラスターを構築するための動態請求的方式と靜態配置文件をサ...

データベースクエリ、どのオブジェクトにどのフィールドが含まれているか、メソッドステートメント

データベースは、どのオブジェクトにどのフィールドが含まれているかを照会します。 *を選択 sysob...

mysql8でルートユーザーのパスワードをリセットする手順を完了します

序文最近、多くの新しい同僚がこの質問をしてきました。特に、homebrew を通じて自動的にインスト...