问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

微信红包雨怎么发?

发布网友 发布时间:2022-04-23 06:36

我来回答

4个回答

懂视网 时间:2022-05-19 04:55

本文为大家分享了微信小程序实现红包雨的具体代码,供大家参考,具体内容如下

今天有个小师妹来问我怎样用微信小程序实现红包雨效果,如果用web很好实现,但是小程序不是那么容易,整合自己也有一年没摸过小程序了,决定试一试。

首先明确“红包雨”的需求:

  • 随机位置掉落
  • 随机红包样式
  • 同一时间掉落个数随机
  • 每个红包的掉落速度随机,但不能太快也不能太慢
  • 首先看看我做的效果吧

        首先明确小程序实现红包雨和web网页实现红包雨难点上有什么不同:

  • 小程序不能直接操作dom,web网页可以操作
  • 小程序循环渲染wx:for内无法执行animation,web网页中animation执行无条件约束
  • 小程序修改样式属性需要通过数据绑定无法直接修改,web网页可以直接取dom元素进行修改
  •     好了那么问题来了怎样实现生成红包雨呢?小程序无法直接操作dom也就意味着不能向dom内添加元素,这里我的解决办法是先生成预设个数的红包在视窗外部(用户看不到),然后修改每个红包的样式来实现动画(当然用css keyframes帧动画也可以,我这里使用的是js修改属性)

    话不多说直接上代码吧,代码内有注释

    wxml:

    <view wx:for="{{packetList}}" wx:for-index="index" wx:for-item="items">
     <image class="red-packet" src="{{items.src}}" style="position:fixed;top:{{items.top}}px;left:{{items.left}}px;-webkit-transition:{{items.speed}}ms linear 0ms;transition:{{items.speed}}ms linear 0ms">
     </image>
    </view>
    

    wxss:

    .red-packet{
     width: 20px;
     height: 25px;
     z-index: 100;
     transition-property:transform,top;
     transform-origin:50% 50% 0;
     -webkit-transition-property:transform,top;
     -webkit-transform-origin:50% 50% 0;
    }

    js:

    Page({
     
     /**
     * 页面的初始数据
     */
     data: {
     windowWidth:"",//窗口宽度
     windowHeigh:"",//窗口高度
     packetList:[{}],//红包队列
     packetNum:200,//总共红包的数量
     showInter:'// 循环动画定时器
     },
     
     /**
     * 生命周期函数--监听页面加载
     */
     onLoad: function (options) {
     var that = this;
     
     // 获取手机屏幕宽高
     wx.getSystemInfo({
     success: function (res) {
     that.setData({
     windowWidth: res.windowWidth,
     windowHeigh: res.windowHeight,
     top: res.windowHeight-100 //设置红包初始位置
     })
     }
     })
     
     //建立临时红包列表
     var packetList=[];
     //建立临时红包图片数组
     var srcList = ["../images/packet-one.png", "../images/packet-two.png"];
     //生成初始化红包
     for(var i=0;i<that.data.packetNum;i++){
     // 生成随机位置(水平位置)
     var left = Math.random() * that.data.windowWidth-20;
     // 优化位置,防止红包越界现象,保证每个红包都在屏幕之内
     if(left<0){
     left+=20;
     } else if (left > that.data.windowWidth){
     left-=20;
     }
     // 建立临时单个红包
     var packet = {
     src: srcList[Math.ceil(Math.random() * 2) - 1],
     top: -30,
     left:left,
     speed:Math.random() * 2500+3000 //生成随机掉落时间,保证每个掉落时间保持在3秒到5.5秒之间
     }
     // 将单个红包装入临时红包列表
     packetList.push(packet);
     // 将生成的临时红包列表更新至页面数据,页面内进行渲染
     that.setData({
     packetList: packetList
     })
     }
     
     // 初始化动画执行当前索引
     var tempIndex=0;
     // 开始定时器,每隔1秒掉落一次红包
     that.data.showInter=setInterval(function(){
     // 生成当前掉落红包的个数,1-3个
     var showNum = Math.ceil(Math.random() * 3);
     // 防止数组越界
     if (tempIndex * showNum>=that.data.packetNum){
     // 如果所有预生成的红包已经掉落完,清除定时器
     clearInterval(that.data.showInter);
     }else{
     switch (showNum){
     case 1:
     //设置临时红包列表当前索引下的top值,此处top值为动画运动的最终top值 
     packetList[tempIndex].top = that.data.windowHeigh;
     // 当前次掉落几个红包,索引值就加几
     tempIndex+=1;
     break;
     case 2:
     packetList[tempIndex].top = that.data.windowHeigh;
     packetList[tempIndex + 1].top = that.data.windowHeigh;
     tempIndex+=2;
     break;
     case 3:
     packetList[tempIndex].top = that.data.windowHeigh;
     packetList[tempIndex + 1].top = that.data.windowHeigh;
     packetList[tempIndex + 2].top = that.data.windowHeigh;
     tempIndex += 3;
     break;
     default:
     console.log();
     }
     // 更新红包列表数据
     that.setData({
     packetList: packetList
     })
     }
     },1000)
     }
    })

    好了红包雨就这样实现了,其实还是蛮有意思的。

    热心网友 时间:2022-06-08 17:01

    回答1. 开启大家都熟识手机微信,点一下右下方“ ”,选择红包。

    2. 键入红包数量和总额,默认设置为拼手气好方式,额度为任意。也可以点一下深蓝色字体样式,“改成一般红包”。红包数尽可能数量大些,为便捷实际操作下一步。

    3. 点一下发送后,进到红包拆掉自身发的红包,在红包未抢完以前拖至最底部,点一下深蓝色字体样式“再次发送此红包”。

    4. 选择刚刚的群,点一下发送,进行。那样便是使用未抢完的红包发送第二个红包快链,要是手贼快,红包够多,以此流程,能够循环系统发送,直至红包抢完。

    1、开启微信零钱-选择手机微信红包。

    2、选择一般红包

    3、设定红包数量为一百个(一定要一百个),单独额度看自身的挎包。创意文案先关键,简洁明了突出重点。确认支付之后红包,选择各自发送好几个手机联系人。

    4、每一次只有发一百个人,不可以多不可以少,要不然下不上红包雨!选择好一百个朋友后,点进行,随后明确,选择发送,随后会提醒发不出去,要是反复点,点一次就发一次,你要下多长时间就你自己决策了。最后具体接到的只有一个红包

    亲,

    热心网友 时间:2022-06-08 18:19

    付费内容限时免费查看回答发红包雨步骤如下:

    1、打开微信,点击右下角“+”号,选择红包。

    2、输入红包个数和总金额,默认为拼手气模式,金额为随机。亦可点击蓝色字体,改为“普通红包”。红包数尽量数目大点,为方便操作下一步。

    3、输入密码,选择发送。

    4、点击发送后,进入红包拆完自己发的红包,在红包未抢完之前拖到最底端,点击蓝色字体“继续发送此红包”。

    5、选择刚才的群,点击发送,完成。这样就是使用未抢完的红包发送第二个红包快链,只要手够快,红包够多,依此步骤,可以循环发送,直到红包抢完。

    热心网友 时间:2022-06-08 19:53

    付费内容限时免费查看回答发红包雨步骤如下:

    1、打开微信,点击右下角“+”号,选择红包。

    2、输入红包个数和总金额,默认为拼手气模式,金额为随机。亦可点击蓝色字体,改为“普通红包”。红包数尽量数目大点,为方便操作下一步。

    3、输入密码,选择发送。

    4、点击发送后,进入红包拆完自己发的红包,在红包未抢完之前拖到最底端,点击蓝色字体“继续发送此红包”。

    5、选择刚才的群,点击发送,完成。这样就是使用未抢完的红包发送第二个红包快链,只要手够快,红包够多,依此步骤,可以循环发送,直到红包抢完。

    亲 以上为发红包雨步骤

    热心网友 时间:2022-06-08 21:45

      所谓的红包雨是指同时发送多个红包,你可以发完一个再发一个,这样接着一直发,发到你没钱了这雨就停了。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 栝楼怎样加工? 乳胶漆的墙面用什么擦比较干净? 银行下调了mlf利率对股市是利好吗 栝楼该如何加工? 乳胶漆墙面可以擦洗吗? 央行下调mlf利率25个基点是利好还是利空 央妈出招了:6月起,开展MLF对股市会有哪些 什么叫做智能机器人? 智能机器人的种类有哪些? 央行释放9500亿1年期MLF操作,对互联网消费金融公司有什么影响? 3M双面胶怎么使用? MLF(中期借贷便利)续作对股价有什么关系呢? mlf降息意味着什么 智能机器人有哪些种类? 中期借贷便利 (MLF)是什么意思? 双面胶带应用于什么行业? vivo智能机器人叫什么名字? 什么是央行mlf? mlf利率对股市的影响 意思是什么意思 墙板上乳胶漆用什么才能擦掉? 栝楼该怎样进行田间管理? 栝楼怎样作庭院栽培? 消息称央行今日续作约2800亿mlf 对股市利好吗 栝楼功效主治是什么?怎样鉴别? 什么墙面漆可以随意擦洗 乳胶漆墙面脏了可以擦吗,有什么方法 瓜蒌怎么种植 立邦乳胶漆可以擦洗吗,哪位用过知道效果的 瓜蒌怎么种植? 乳胶漆用什么擦得干净 瓜蒌如何种植? “带”字的偏旁部首是什么? 墙面刷的是乳胶漆可不可以用水擦洗? 如何种植瓜蒌 乳胶漆可以擦洗吗 听说瓜蒌是药材?瓜蒌能吃吗?怎么吃? 墙面乳胶漆可以用湿抹布擦吗? 装修后的乳胶漆该如何清理? 栝楼要怎样留种?