微信小程序转动3d骰子

这里展示动画效果

欢迎扫码体验小程序
小程序还有备忘录功能

html

<view class="background" data-id="{{disabled}}" >

<!--转盘-->

<image src='../../static/start.png' bindtap="onstart" class='point' mode='aspectFit' style='width:40%;height:40%;'></image>

<image animation="{{rotateDate}}" src='../../static/rotate.png' class='wheel' mode="aspectFit" style="width:90%;height:90%;"></image>

</view>

<view class='my' >

我的:{{jifen}}<button style="width: 80px;height:40%;font-size: 30rpx;display: flex;justify-content: space-around;align-items: flex-start;text-align: center;line-height: 100%;" bindtap="clear">清空</button>

</view>

css

/* pages/zhenxin/zhenxin.wxss */

/**index.wxss**/

.background{

height:100vh;

width:100vw;

position: relative;

background-size: 100% 100%;

-moz-background-size:100% 100%;

margin:0 auto;

display: flex;

justify-content: center;

}

.point{

margin-top:25vh;

position: absolute;

z-index: 10;

}

.wheel{

position: absolute;

z-index:5;

}

.my{

height:200rpx;

height:200rpx;

margin-right: 30%;

display: flex;

justify-content: center;

}

js

// index.js

let animation = wx.createAnimation({

duration: 3000,

timingFunction: 'ease',

});

var app = getApp();

Page({

data: {

rotateDate: {},

turning: false,

jifen:app.globalData.jifen,

disabled: false,

},

onload: function (options) {

},

changjifen(){

},

onUnload(){

let that = this

wx.getStorage({

key:app.globalData.NUM,

success(res){

that.data.jifen = res.data;

that.setData({

jifen:that.data.jifen - 1

})

//前端显示的积分+1

//wx.setStorage(map)

wx.setStorageSync(app.globalData.NUM,that.data.jifen)

},

fail(res){

wx.setStorageSync(app.globalData.NUM,that.data.jifen)

}

})

},

onShow:function(){

let that = this

that.setData({

turning:false,

})

wx.getStorage({

key:app.globalData.NUM,

success(res){

that.data.jifen = res.data;

that.setData({

jifen:that.data.jifen + 1

})

//前端显示的积分+1

//wx.setStorage(map)

wx.setStorageSync(app.globalData.NUM,that.data.jifen)

},

fail(res){

wx.setStorageSync(app.globalData.NUM,that.data.jifen)

}

})

},

onstart: function () {

let _this = this;

if (!this.data.turning) {

let rdm = 45;

let cat = 45;

rdm = Math.floor(720 + Math.random() * 3600);

_this.setData({

degrees: rdm

})

console.log(rdm);

animation.rotate(rdm).step();

this.setData({

rotateDate: animation.export(),

turning: true,

});

setTimeout(() => {

let num = rdm % 360;

function showModal(str) {

//使手机振动400ms

wx.vibrateLong();

wx.showModal({

success: function () {

let animation = wx.createAnimation({

duration: 45,

timingFunction: "linear"

})

animation.rotate(0).step();

_this.setData({

rotateDate: animation.export()

})

}

});

};

if (num <= cat * 1) {

var random = Math.floor(Math.random() * 15);

var cotext = [真心哈大冒险内容,自行添加]

wx.showModal({

title: '大冒险',

content: cotext[random],

mask: true,

duration: 2000,

success: function (res) {

if (res.cancel) {

} else if (res.confirm) {

_this.setData({

jifen: _this.data.jifen + 1,

})

}

}

});

wx.vibrateLong();

//振动

}

else if (num <= cat * 2) {

var random = Math.floor(Math.random() * 24);

[真心哈大冒险内容,自行添加]

wx.showModal({

title: '真心话',

content: cotext[random],

mask: true,

duration: 2000,

success: function (res) {

if (res.cancel) {

} else if (res.confirm) {

_this.setData({

jifen: _this.data.jifen + 1,

})

}

}

});

}

else if (num <= cat * 3) {

var random = Math.floor(Math.random() * 30);

[真心哈大冒险内容,自行添加]

wx.showModal({

title: '大冒险',

content: cotext[random],

mask: true,

duration: 2000,

success: function (res) {

if (res.cancel) {

} else if (res.confirm) {

_this.setData({

jifen: _this.data.jifen + 1,

})

}

}

});

}

else if (num <= cat * 4) {

var random = Math.floor(Math.random() * 30);

[真心哈大冒险内容,自行添加]

wx.showModal({

title: '真心话',

content: cotext[random],

mask: true,

duration: 2000,

success: function (res) {

if (res.cancel) {

} else if (res.confirm) {

_this.setData({

jifen: _this.data.jifen + 1,

})

}

}

});

}

else if (num <= cat * 5) {

var random = Math.floor(Math.random() * 10);

var cotext = ['']

wx.showModal({

title: '大冒险',

content: cotext[random],

mask: true,

duration: 2000,

success: function (res) {

if (res.cancel) {

} else if (res.confirm) {

_this.setData({

jifen: _this.data.jifen + 1,

})

}

}

});

}

else if (num <= cat * 6) {

var random = Math.floor(Math.random() * 38);

var cotext = [真心哈大冒险内容,自行添加]

wx.showModal({

title: '真心话',

content: cotext[random],

mask: true,

duration: 2000,

success: function (res) {

if (res.cancel) {

} else if (res.confirm) {

_this.setData({

jifen: _this.data.jifen + 1,

})

}

}

});

}

else if (num <= cat * 7) {

var random = Math.floor(Math.random() * 16);

var cotext = [真心哈大冒险内容,自行添加]

wx.showModal({

title: '大冒险',

content: cotext[random],

mask: true,

duration: 2000,

success: function (res) {

if (res.cancel) {

} else if (res.confirm) {

_this.setData({

jifen: _this.data.jifen + 1,

})

}

}

});

}

else if (num <= cat * 8) {

let random = Math.floor(Math.random() * 33);

let cotext = [真心哈大冒险内容,自行添加]

var num1 = _this.data.jifen

wx.showModal({

title: '真心话',

content: cotext[random],

mask: true,

duration: 2000,

showCance: false,

success: function (res) {

if (res.cancel) {

} else if (res.confirm) {

_this.setData({

jifen:_this.data.jifen + 1,

})

var map = {

key: app.globalData.NUM,

data: _this.data.jifen,

success: function () {

},

fail: function () {

}

}

wx.setStorage(map)

//store

_this.onShow()

}

}

});

}

}, 3000);

this.setData({

turning:false,

//数据正常

//disabled:false,

//多次点击

});

};

},

clear: function () {

let that = this

wx.getStorage({

key:app.globalData.NUM,

success(res){

that.data.jifen = res.data;

that.setData({

jifen:0

})

//前端显示的积分+1

//wx.setStorage(map)

wx.setStorageSync(app.globalData.NUM,that.data.jifen)

},

fail(res){

wx.setStorageSync(app.globalData.NUM,that.data.jifen)

}

})

},

onShareAppMessage() {

return {

title: '快来写下你目前的想法吧!',

path: "../../pages/home/home.json"

}

},

onShareTimeline: function () {

return {

title: "快来写下你目前的想法吧!",

query: {

}

}

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值