国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信小程序開發之麥克風動畫 幀動畫 放大 淡出

2019-11-19 16:48:04
字體:
來源:轉載
供稿:網友

想做個錄音機,第一步就卡在麥克風動畫這里了.

先上gif.再吐槽.

① 上面gif中聲波的動畫是個半成品.沒有循環播放.在微信小程序的開發文檔上找了很久,也沒找到循環模式的參數設置.用setInterval()并不執行動畫.我在微信小程序文檔 動畫最下面找到這么一行字.這個鍋是不是可以甩出去了?

ps:如果有同學能實現動畫循環,一定告訴我.

② 麥克風里面是個幀動畫.沒有前端的基礎,只能用非主流的辦法湊合了.

用wx:if{{}}判斷js中定義的值是不是等于圖片對應的數字來控制圖片的顯示和隱藏.css中應該有更好的方法.我css基礎不牢,就不說了.

上代碼:

1.index.wxml

<!--index.wxml--> <view class="voice-style" bindtap="startSpeak"> <image class="bg-style" src="../../images/voice_icon_speaking_bg_normal.png" ></image> <image class="bg-style" animation="{{spreakingAnimation}}" src="../../images/voice_video_loading_0.png"></image> <image class="bg-style" animation="{{spreakingAnimation_1}}" src="../../images/voice_video_loading_0.png"></image> <image class="bg-style" animation="{{spreakingAnimation_2}}" src="../../images/voice_video_loading_0.png"></image> <image class="sound-style" src="../../images/voice_icon_speech_sound_1.png" ></image> <image wx:if="{{j==2}}" class="sound-style" src="../../images/voice_icon_speech_sound_2.png" ></image> <image wx:if="{{j==3}}" class="sound-style" src="../../images/voice_icon_speech_sound_3.png" ></image> <image wx:if="{{j==4}}" class="sound-style" src="../../images/voice_icon_speech_sound_4.png" ></image> <image wx:if="{{j==5}}"class="sound-style" src="../../images/voice_icon_speech_sound_5.png" ></image> </view> 

2.index.js

//index.js //獲取應用實例 var app = getApp() Page({  data: {   spreakingAnimation: {},//放大動畫   j: 1,//幀動畫初始圖片   isSpeaking: false,//是否在錄音狀態  },  onLoad: function () {  },  //點擊開始說話  startSpeak: function () {   var _this = this;   if (!this.data.isSpeaking) {    speaking.call(this);    this.setData({     isSpeaking: true    })   } else {    //去除幀動畫循環    clearInterval(this.timer)    this.setData({     isSpeaking: false,     j: 1    })   }  }, }) function speaking() {  //話筒幀動畫  var i = 1;  this.timer = setInterval(function () {   i++;   i = i % 5;   _this.setData({    j: i   })   return  }, 200);  //波紋放大,淡出動畫  var _this = this;  var animation = wx.createAnimation({   duration: 1000  })  animation.opacity(0).scale(3, 3).step();//修改透明度,放大  this.setData({   spreakingAnimation: animation.export()  })  setTimeout(function(){   //波紋放大,淡出動畫  var animation = wx.createAnimation({   duration: 1000  })  animation.opacity(0).scale(3, 3).step();//修改透明度,放大  _this.setData({   spreakingAnimation_1: animation.export()  })  },250)   setTimeout(function(){   //波紋放大,淡出動畫  var animation = wx.createAnimation({   duration: 1000  })  animation.opacity(0).scale(3, 3).step();//修改透明度,放大  _this.setData({   spreakingAnimation_2: animation.export()  })  },500) } 

3.index.wxss

/**index.wxss**/ .voice-style {  margin-top: 400px;  display: flex;  position: relative;  flex-direction: column;  align-items: center; } .bg-style {  position: absolute;  width: 100px;  height: 100px; } .sound-style{  position: absolute;  width: 37.6px;  height: 60px;  margin-top: 20px; } 

demo代碼下載

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北票市| 田阳县| 玉门市| 石楼县| 淄博市| 楚雄市| 福安市| 江北区| 大石桥市| 尉氏县| 陆河县| 镇巴县| 岳池县| 焦作市| 南平市| 敖汉旗| 双牌县| 肃宁县| 双柏县| 博湖县| 闽侯县| 沾益县| 农安县| 兴文县| 专栏| 泰顺县| 新乡县| 晴隆县| 青海省| 河北省| 沧州市| 多伦县| 铁岭市| 法库县| 榆树市| 铜梁县| 澄城县| 太谷县| 名山县| 迁安市| 奇台县|