微信小程序模仿抖音,全屏播放且有流畅的动画

微信小程序模仿抖音,全屏播放且有流畅的动画,第1张

有上翻的动画,有商品展示,有分享,以及跳到视频库。之前网上找了很多,说swiper不能套video,现在已经可以了,第二种是把封面平铺下来,滚动的是封面那种,效果不好

首先用一个cover-view来控制上下滚空,监听touch事件,让swiper的index+1或者-1

swiper包裹这video,swiper不能自动滚动,但是必须要设置衔接的属性。

js里面onshow的那个地方是我们点击tabbar的时候不需要再次调接口,做的处理,如果不是tabbar,可以直接再onload里面调后端数据

注意的是,在开发中,只要不是本地的视频,掉了接口,然后ios的前两个视频就是黑屏,后来加上了custom-cache="{{false}}">就解决了

注意的另一个兼容的是,只有cover-view才能覆盖再原生video之上,像轮播购买记录的那个地方,cover-view不能包swiper,所有有的手机是被视频遮住的

如果不妨到tabbar里的话,就是全屏播放了,头部自定义,然后左右两边也没有黑色没撑满了

LOADING是装载动画!不是加GIF的要是真的要用这的话建议把DIF导入到FLASH里重新制作一下

代码关系到几个变量

一 Loading的作用。

Loading英文原意为装载,装填。在flash里面叫做预载画面。我们在欣赏每一件完整的flash作品的时候,都会看到loading的出现。这是因为,动画播放是否流畅取决于网络带宽,对于用调制解调器的朋友们欣赏的时候,loading会预先的加载一部分或全部以后,才能流畅播放。特别是,动画中有音乐或者位图的情况下,loading 的作用就显而易见了。由于上述的条件限制,没有哪一个动画不作loading。Loading发展到现在已经不是简单的一个下载动画的工具了。它已经成为体现主体动画,衬托主体的一个载体。Loading分为两个大部分。一个是功能类的(指下载作用功能)另一部分是等待动画。下面我们就从这两个方面来研究一下。

二 Loading的制作

制作loading 有许多的方法。我们从最简单的开始向大家介绍:

第一种:loading( 假的 )

也就是假loading。这种loading我想在某些人的动画中也会出现。我就曾经作了一个。我先作的动画,最后作loading,时值夜半,睡意朦胧,恍惚中作了一个。欣喜之余,马上发布。天明清醒,遂发现loading没加as。故称为(假)loading 。幸好,动画不长,没人发现。心中窃喜。在这里告诫朋友们,loading 也是我们的作品的一部分,我们要用正确的态度来对待它。

第二种:用ifFrameLoaded语句来完成。

IfFrameLoaded现在已经被MX给否决了。MX不提倡用此语句。但是还是可用的。完整的语句为:

If|FrameLoaded(欲加载的场景 欲加载的帧数或帧标签){

GotoAndPlay(正式动画的第一帧)

此语句的缺点是,它只能判断欲载程序是否到某一帧。可是如果此帧的后面有许多音乐或位图,播放以后还是不流畅的。

好了,我们一起来作一个简单的Loading吧!

1、 打开flash mx,新建一个文件。

2、 新建一个影片剪辑mc(^+F8),命名为myloading。

3、 进入影片剪辑myloading编辑区,利用长方形工具画一个进度条

4、 然后,在100帧处插入关键帧。

5、 返回到影片剪辑myloading的第一帧,利用变形工具,改变进度条的中心点到左侧,并使之变形。(在x轴上缩小至消失)

6、选第一祯,在下面的属性里,补间里选形状 创建形状渐变。

7、 在影片剪辑myloading的编辑区里新建一层,来作进度条的外框。用画矩形工具,画个比进度条大的方框,无填充色

8、 回到主场景,打开库面板F11,把影片剪辑myloading拖放到第一层的第一帧,并延长第二帧

9、 点击舞台中的影片剪辑,在属性面板中填如其身份名myloading。

10、 在主场景中新建一层,命名为as。在as层的第二帧插入空白关键帧。

11、 分别在as层的第一帧和第二帧加入as语句如下:

第一帧:

a=getBytesLoaded();

b=getBytesTotal();

loaded=int(a/b100);

myloading gotoAndPlay( loaded );

第二帧:

if(a==b){

nextScene();

}else{

gotoAndPlay(1);

}

12、 打开场景面板,把现存的场景一改名为:loading。

然后在增加一个场景,名为next,注意两个场景的上下,在上面的是动画发布后播放的第一个场景,哪个场景在下面,哪个是后放的

13、 新建的场景next,并在新场景的第一帧加入一幅或一段动画。越大越好不要超过4M

14、 测试完成,一般情况下,在本机了看不出效果的,做好后,最好是上传到闪吧后,就能看到载入的动画及效果了

动作脚本解释:

第一帧:

a=getBytesLoaded(); //设置变量a等于下载的字节数。

b=getBytesTotal(); //设置变量b等于动画全部字节数。

loaded=int(a/b100); //int为取(a/b100)的整数(近似值)

myloading gotoAndPlay( loaded ); //播放影片剪辑,并以loaded的进度限制。

第二帧:

if(a==b){ //如果下载的字节数等于全部字节数,则执行下面的语句。

nextScene(); //播放下一个场景。

}else{ //否则,(条件不满足时)

gotoAndPlay(1); //播放第一帧

}

这段语句与上面的语句其实意义都是一样的,都是利用下载的大小除以全部大小来获取百分比。不同的是获取对象一个是帧数,一个是字节数。另外,一个是用as来控制进度条的变化,一个是用限制进度条的播放来进行变化。

以上就是关于微信小程序模仿抖音,全屏播放且有流畅的动画全部的内容,包括:微信小程序模仿抖音,全屏播放且有流畅的动画、loading gif代码、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10106677.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存