微信小程序 - 仿南湖微科普小程序游戏环节
最近看到南湖微科普小程序游戏环节感觉还可以,于是模仿了下
<view class='current' animation="{{animation}}">
{{current.title}}
</view>
<view class='caozuo'>
<text bindtap="type1btn">可回收</text>
<text bindtap="type2btn">有害垃圾</text>
<text bindtap="type3btn">其他</text>
</view>
<view class='score'>分数:{{score}}</view>
.current{ width:100px;height:100px;border-radius:5px; margin:20px auto;text-align:center;line-height:100px;color:#fff;background:red; }
.caozuo{display: flex;justify-content:space-between;margin-top: 15px;font-size:14px;text-align: center;}
.caozuo text{text-align: center;flex:1;}
.score{ text-align:center;margin-top:20px;font-size:14px;color:red; }
Page({
data: {
current:{},
score:0,
arr:[
{
id:1,
title:"手机壳",
type:"1"
},
{
id:2,
title: "枯枝",
type: "3"
},
{
id:3,
title: "纸盒",
type: "1"
},
{
id:4,
title: "涂改溢瓶",
type:"2"
},
{
id:5,
title: "药水瓶",
type: "2"
},
{
id: 6,
title: "电视机",
type: "1"
},
{
id: 7,
title: "菜叶",
type: "3"
}
]
},
onReady: function () {
this.animation = wx.createAnimation()
},
onLoad: function (options) {
// type:1可回收 2 有害垃圾 3 其他垃圾
// 不能重复
var that = this;
that.newdata();
}, newdata(current,arr){
//每次操作过后数组更新一次
var that = this;
var current = that.data.current;
var arr = that.data.arr; var currentIndex = Math.floor(Math.random() * arr.length)
var newarr = arr.filter(function (currentvalue, index, array) {
return index != currentIndex
}) if (arr.length === 0 ){
wx.showToast({
title: '恭喜闯关成功',
})
return
} that.setData({
current: arr[currentIndex],
arr: newarr
}) },
scoreAdd() {
//分数添加
var that = this;
var score = that.data.score;
score += 2;
that.setData({
score: score
})
},
scoreReduce() {
//分数减去
var that = this;
var score = that.data.score;
score -= 1;
that.setData({
score: score
})
},
select(type){
//区分点击按钮
var that = this;
var current = that.data.current;
var arr = that.data.arr;
if (arr.length != 0) {
if (current.type === type) {
that.scale()
that.newdata();
that.scoreAdd()
} else {
that._toast()
that.scoreReduce()
}
} else {
wx.showToast({
title: '恭喜闯关成功',
})
}
},
type1btn() {
//可回收
var that = this;
that.select("1")
},
type2btn() {
//有害垃圾
var that = this;
that.select("2")
},
type3btn() {
//其他垃圾
var that = this;
that.select("3")
},
_toast(){
wx.showToast({
title: '不对应',
})
},
scale: function () {
this.animation.scale(0.6).step()
this.animation.scale(1).step()
this.setData({ animation: this.animation.export() })
}
})
微信小程序 - 仿南湖微科普小程序游戏环节的更多相关文章
- 微信小程序仿朋友圈功能开发(发布、点赞、评论等功能)
微信小程序仿朋友圈功能开发(发布.点赞.评论等功能) 1.项目分析 项目整体分为三个部分 发布 展示 详情页 graph LR 朋友圈发布 --内容发布--> 内容展示 内容展示 --点击展示卡 ...
- 微信小程序--仿微信小程序朋友圈Pro(内容发布、点赞、评论、回复评论)
微信小程序--仿微信小程序朋友圈Pro(内容发布.点赞.评论.回复评论) 项目开源地址M朋友圈Pro 求个Star 项目背景 基于原来的开源项目 微信小程序仿朋友圈功能开发(发布.点赞.评论等功能 ...
- 微信小程序开发公测,小程序账号申请办法攻略
11月3号晚上 10 点,微信公众平台发布公告,宣布微信小程序正式开放公测.此次小程序公测允许开发者将产品提交至微信公众平台审核,但是暂时不支持发布,也就是说普通消费者若想体验小程序,还需要等待一段时 ...
- 挑战App Store,微信通过“跳一跳”秀了一下“小程序”的肌肉
2017年即将结束的时候,微信放了一个大招.随着最新的微信v6.6.1版本更新,基于小程序的"小游戏"板块正式上线.微信上首发的这款"小游戏"叫"跳一 ...
- 微信小程序开发教程 #043 - 在小程序开发中使用 npm
本文介绍了如何在微信小程序开发中使用 npm 中包的功能,大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频版更新. 微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发 ...
- 微信小程序开发——前端如何区分小程序运行环境
前言: 之前用vue做h5项目,对于接口请求,都是根据前端访问域名来判断运行环境,然后自动适配对应的服务器地址的.这样的好处就是在开发.测试及发布上线全程都不需要手动去改接口请求地址,只要提前配置好就 ...
- 微信小程序开发——打开另一个小程序
微信小程序打开另一个小程序,有两种方法:1.超链接:2.点击按钮. 全局配置: 跳转到其他小程序,需要在当前小程序全局配置中配置需要跳转的小程序列表,代码如下: App.json { ... &quo ...
- 微信小程序唤起其他微信小程序 / 移动应用App唤起小程序
微信小程序唤起其他微信小程序 / 移动应用App唤起小程序 1. 微信小程序唤起微信小程序 小程序唤起其他小程序很简单 先上链接 小程序跳转小程序 Navigator组件 推荐使用 小程序跳转小程序 ...
- xampp安装和使用:windows和linux使用安装微擎小程序
1.官网下载xampp XAMPP:Apache+MySQL+PHP+PERL,适用于windows+linux+macos x+Solaris等多系统使用 官网地址:https://www.apac ...
随机推荐
- XOR and Favorite Number (莫对算法)
E. XOR and Favorite Number time limit per test 4 seconds memory limit per test 256 megabytes input s ...
- [Leetcode] LRU 算法实现
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...
- [LeetCode] 4. Median of Two Sorted Arrays ☆☆☆☆☆
There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two ...
- .NET中使用switch和java不一样的地方。
1.不能这样贯穿 我们知道,java 和 C在使用switch时候可以这样. switch (i) { //java中此处不使用break // 执行了case 1:对应的语句后直接 贯穿到 case ...
- 【洛谷 P1707】 刷题比赛 (矩阵加速)
题目连接 很久没写矩阵加速了,复习一下,没想到是一道小毒瘤题. 状态矩阵\(a[k],b[k],c[k],a[k+1],b[k+1],c[k+1],k,k^2,w^k,z^k,1\) 转移矩阵 0, ...
- HDU 1284 钱币兑换问题 (dp)
题目链接 Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于327 ...
- 爬虫--BeautifulSoup
什么是BeautifulSoup? BeautifulSoup支持的一些解析库 基本使用 from bs4 import BeautifulSoup html =""" ...
- MSSQL数据库 事务隔离级别
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted .Read committed .Repeatable read .Serializable ,这四个级别可以逐个解 脏读 ...
- bufferd对象详解
使用buffer类处理二进制数据 在客户端javascript脚本代码中,对于二进制数据并没有提供一个很好的支持.然后在nodejs中需要处理像TCP流或文件流时,必须要处理二进制数据.因此在node ...
- SQL SERVER 创建远程数据库链接 mysql oracle sqlserver
遇到的坑 在连接Oracle时,因为服务器为10g 32位版本,然后在本地安装了32为10g客户端,然后一直报错[7302.7303],后来下载了12c 64位版本,安装成功后,问题解决 原因:mss ...