您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了微信小程序如何制作旋轉(zhuǎn)動(dòng)畫,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學(xué)習(xí)一下“微信小程序如何制作旋轉(zhuǎn)動(dòng)畫”這篇文章吧。
微信小程序被給予的能量是無窮的,在小程序發(fā)展逐漸成熟的當(dāng)下,小程序開發(fā)能實(shí)現(xiàn)的需求越來越完善。最近小程序中有一個(gè)圖片旋轉(zhuǎn)的需求,在微信小程序上是可以通過切換多張圖片達(dá)到旋轉(zhuǎn)的效果,但微信小程序自帶的API中帶有這么一個(gè)動(dòng)畫組件,因此小程序制作旋轉(zhuǎn)動(dòng)畫可以使用image+Animation來實(shí)現(xiàn)。
首先在wxml中定義image
注意其中的animation屬性,image就由它來實(shí)現(xiàn)動(dòng)畫。
而{{animation}}我們?cè)趈s的data中定義
data: {
animation: \'\'
},
相關(guān)代碼
var _animation;
var _animationIndex
const _ANIMATION_TIME = 500;
pages {
...
onShow: function () {
_animation =wx.createAnimation({
duration:_ANIMATION_TIME,
timingFunction: \'linear\',//linear,ease,ease-in,ease-in-out,ease-out,step-start,step-end
delay: 0,
transformOrigin:\'50% 50% 0\'
})
},
/**
* 實(shí)現(xiàn)image旋轉(zhuǎn)動(dòng)畫,每次旋轉(zhuǎn) 120*n度
*/
rotateAni: function (n){
_animation.rotate(120* (n)).step()
this.setData({
animation:_animation.export()
})
},
/**
* 開始旋轉(zhuǎn)
*/
startAnimationInterval:function () {
var that = this;
that.rotateAni(++_loadImagePathIndex); // 進(jìn)行一次旋轉(zhuǎn)
_animationIntervalId =setInterval(function () {
that.rotateAni(++_loadImagePathIndex);
}, _ANIMATION_TIME); // 沒間隔_ANIMATION_TIME進(jìn)行一次旋轉(zhuǎn)
},
/**
* 停止旋轉(zhuǎn)
*/
stopAnimationInterval:function () {
if (_animationIntervalId> 0) {
clearInterval(_animationIntervalId);
_animationIntervalId= 0;
}
},
}
微信自帶的Animation可以實(shí)現(xiàn)一次動(dòng)畫,然后可以通過setInterval來達(dá)到不斷旋轉(zhuǎn)的目的,在使用時(shí),控制startAnimationInterval和stopAnimationInterval即可。
在使用animation時(shí),會(huì)發(fā)現(xiàn)有時(shí)候出現(xiàn)旋轉(zhuǎn)速度很快或者反向旋轉(zhuǎn)再正向旋轉(zhuǎn)的清空,這都是由于rotate的值設(shè)置有問題。
1、rotate的值應(yīng)該是上一次結(jié)束時(shí)的值,
2、如果設(shè)置了全局變量,記得在oncreate時(shí)初始化,不然第二次打開同一頁面會(huì)有問題。
注意事項(xiàng):
這里為什么不直接給_animation.rotate(120 * (n)).step()設(shè)置一個(gè)足夠大的值,原因有兩點(diǎn):
1、我們需要便利的控制開始和停止,
2、animation在小程序進(jìn)入后臺(tái)后,會(huì)持續(xù)運(yùn)行,占用手機(jī)內(nèi)存和cpu,而小程序依賴于微信,在iphone上會(huì)導(dǎo)致微信被終止運(yùn)行
小程序是一種不需要下載安裝即可使用的應(yīng)用,通過掃描二維碼或是搜一搜立即使用,操作簡(jiǎn)單,便于傳播,能夠?qū)崿F(xiàn)消息通知、線下掃碼、公眾號(hào)關(guān)聯(lián)等七大功能。它基于微信運(yùn)行的,類似于APP,想用就用,用完即走,不會(huì)占用內(nèi)存。
以上就是關(guān)于“微信小程序如何制作旋轉(zhuǎn)動(dòng)畫”的內(nèi)容,如果該文章對(duì)您有所幫助并覺得寫得不錯(cuò),勞請(qǐng)分享給您的好友一起學(xué)習(xí)新知識(shí),若想了解更多相關(guān)知識(shí)內(nèi)容,請(qǐng)多多關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。