码上掘金实现电子木鱼

news2024/11/26 4:51:21

前言

前几天在朋友圈看到“敲电子木鱼”的视频,敲一下木鱼就提示“功德 +1”,还带有敲击声和念经的声音,感觉挺有意思的。

心血来潮,捣鼓了一晚上,借助码上掘金实现了这个功能。

展示效果

素材

准备素材如下:

  • 木鱼:网上找了一张木鱼的图片,用PS简单处理成黑白的图片。* 敲木鱼音频、念经音频:网上找了素材,简单剪辑了一下。素材存放在服务器上,方便码上掘金中引入。

代码块

首先,思考一下展示效果。我们点击木鱼,响起"咚"的一声,次数+1。同时,我们可以在木鱼的右上角添加"功德 +1"的文字闪现效果。

点击木鱼,我们需要做的事情有:

  • 播放敲木鱼的声音
  • 计数+1
  • 添加交互效果(提示文字、木鱼动画等)

其中,计数很容易实现,就不赘述了。

在Vue3中,借助 audio 标签引入音频文件,调用.play()方法可以播放音频:

<audio controls ref="audio" class="aud"><source src="https://clemmensen.top/static/muyu.mp3" />
</audio>

<script setup> const audio = ref(null)
function playMuyu() {audio.value.play()
} </script> 

提示文字的实现是,当敲击木鱼时,给文字加上tipsActive的类名,该类名带有动画效果,文字会向上移动并消失。

@keyframes textMove {from {top: 20%;opacity: 1;}to {top: 18%;opacity: 0;}
} 

具体代码:

<div :class="['tips', { 'tips-active': tipsActive }]">{{tips}}
</div>

<script setup> const tips = ref('功德 +1')
function clickMuyu() {count.value ++ // 计数+1tipsActive.value = truesetTimeout(() => {tipsActive.value = false}, time.value)
} </script> 

相似的,给木鱼加上敲击效果,也就是点击会有缩放效果:

@keyframes muyuScale {0% {transform: scale(1);}50% {transform: scale(0.95);}100% {transform: scale(1);}
} 

拓展

开始界面

刚开始是直接显示一个木鱼图片,这里我们考虑添加一个自定义的开始界面,包括“Start”按钮和上方的诗词“睡到僧廊响木鱼,庄周蝴蝶两蘧蘧。”。在点击按钮后才进入木鱼图片,并开始播放背景音乐。

背景音乐

点击"Start"时,开始播放背景音乐。背景音乐的播放方法和上面提到的播放音频的方法一致,这里就不赘述了。

提供多种提示文字

右边加上了文字选择功能,可以选择功能、抗疫或Bug,对应的提示文字会跟着改变。

后记

一个简单的小项目,其中需要了解的地方是如何在vue3中使用audio标签引入音频文件。

最后

最近还整理一份JavaScript与ES的笔记,一共25个重要的知识点,对每个知识点都进行了讲解和分析。能帮你快速掌握JavaScript与ES的相关知识,提升工作效率。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/333182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

又一国产开源项目走向世界,百度RPC框架Apache bRPC正式成为ASF顶级项目

2023 年 1 月 26 日&#xff0c;Apache 软件基金会 (ASF) 官方正式宣布Apache bRPC 正式毕业&#xff0c;成为 Apache的顶级项目。 我听到这个消息是挺开心的&#xff0c;毕竟是又一款由国人主导的apche顶级项目&#xff0c;再次证明国内在开源界正在发挥越来越重要的作用。 …

Java的对象和类

名词解释 对象是指由类定义的数据结构&#xff0c;拥有属性和方法。它是运行时实例化的。 类是一种用于描述对象的模板&#xff0c;它定义了对象的属性和方法。类是一种类型&#xff0c;可以用于定义对象&#xff0c;并且可以对对象进行操作。 故事概要 小明是初学者想要学习…

JVM——7JVM调优实战及常量池详解

Arthas工具的使用 阿里巴巴开源的java诊断工具 下载插件 上传至linux环境 在linux跑起来的java项目&#xff0c;可以用Arthas进行查看 项目上线前的时候没问题&#xff0c;上线了就出问题 &#xff0c;用来查看线上代码 jad 项目名 &#xff1a;反编译线上正在运行的代码 用…

SpringCloud-Netflix学习笔记10——Hystrix实现服务熔断

一、概述 1、分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系&#xff0c;每个依赖关系在某些时候将不可避免的失败&#xff01; 2、服务雪崩 多个微服务之间调用的时候&#xff0c;假设微服务A调用微服务B和微服务C&#xff0c;微服务B 和微服务C又…

雁过留痕,竟是病毒的痕迹?

凌恩生物全新升级宏病毒组分析流程&#xff1b;聚焦DNA&#xff0c;RNA病毒组研究热点&#xff1b;高灵敏度检测vOTUs&#xff1b;多软件整合&#xff0c;精准鉴定病毒序列&#xff1b;直击地化循环关键环节&#xff0c;助力宏病毒组科研成功&#xff01;期刊&#xff1a;Micro…

板子登录和挂载问题记录

ubuntu登录板子问题 ssh登录ssh 10.1.3.15&#xff0c;显示No route to host 则尝试在板子上ping 本机ip 试一下 挂载 本地机器vim /etc/export编辑此内容并保存 /exports_0209/tda4_build *(rw,no_root_squash,nohide,insecure,no_subtree_check,async)1.挂载nfs方法 mou…

【PR】零基础快速入门教程

【PR】零基础快速入门教程PR&#xff08;Premiere&#xff09;能做什么&#xff1f;PR欢迎界面及新建项目工作区及窗口说明导入文件建立序列视频剪辑添加字幕导出视频使用软件&#xff1a;Premiere2020新年卷起来&#xff0c;写文章已近不能满足与我了&#xff0c;我要向着更前…

MySQL存储过程的传参和流程控制

目录 一.存储过程传参—in 演示 二.存储过程传参—out 演示 三.存储过程传参—inout 演示 四.流程控制—判断 格式 演示 五.流程控制—case 语法 演示 六.流程控制—循环 循环—while 循环—repeat 循环—loop 一.存储过程传参—in in表示传入的参数&#xff0c;可以传…

Java中动态调用setter以及getter

0x00 前言 对于非专业程序员的安全人员来说&#xff0c;因为没有代码项目的积累&#xff0c;很多知识体系都不完善&#xff0c;所以有必要在一些常用的内容进行学习的总结。 在很多的调用链中都会用到**“动态调用setter以及getter”**这个知识点&#xff0c;比如经典的CB链&a…

Jetpack之Lifecycle应用与源码分析

Build lifecycle-aware components that can adjust behavior based on the current lifecycle state of an activity or fragment. 上面是源于官网的定义&#xff0c;简单翻译就是说Lifecycle的作用就是基于当前的Activity或者Fragment的生命周期当前状态构建可感知生命周期的…

CHAPTER 3 Jenkins SVN GItlab

Jenkins SVN GItlab3.1 JenkinsSVN3.1.1 搭建SVN服务器1. 安装svn server2. 查看svn安装位置3. 创建版本库目录4. 创建svn版本库5. 配置修改6. 防火墙开启3690端口7. 启动SVN-server8. 客户端访问svn服务器3.1.2 测试脚本提交3.1.3 jenkins下载代码配置1. 安装Subversion插件2.…

mac:彻底解决-安装应用后提示:无法打开“XXX”,因为无法验证开发者的问题;无法验证此App不包含恶意软件

mac从浏览器或其他电脑接收了应用&#xff0c;但是打开报错 目录报错解决办法一次性方法永久解决方法验证恢复应用验证报错 截图如下&#xff1a; 错误信息 无法打开“XXX”&#xff0c;因为无法验证开发者的问题&#xff1b;无法验证此App不包含恶意软件 解决办法 一次性方…

微信小程序 java 校园快递代取配送系统 uniapp mysql

园快递代取系统&#xff0c;用户和配送员室基于微信小程序端&#xff0c;管理员是基于后台网页端&#xff0c;本系统是基于java编程语言&#xff0c;mysql数据库&#xff0c;idea开发工具&#xff0c;ssm框架开发&#xff0c;本系统分为用户&#xff0c;管理员和配送员三个角色…

易基因|猪肠道组织的表观基因组功能注释增强对复杂性状和人类疾病的生物学解释:Nature子刊

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。2021年10月6日&#xff0c;《Nat Commun》杂志发表了题为“Pig genome functional annotation enhances the biological interpretation of complex traits and human disease”的研究论文…

爽文,Redis分布式锁的实现和原理

为什么需要分布式锁我们知道&#xff0c;当多个线程并发操作某个对象时&#xff0c;可以通过synchronized来保证同一时刻只能有一个线程获取到对象锁进而处理synchronized关键字修饰的代码块或方法。既然已经有了synchronized锁&#xff0c;为什么这里又要引入分布式锁呢&#…

2023数字中国创新大赛·数据开发赛道首批赛题启动报名

由数字中国建设峰会组委会主办的2023数字中国创新大赛&#xff08;DCIC 2023&#xff09;已正式启幕&#xff0c;本届大赛结合当下数字技术发展的热点和业界关注的焦点&#xff0c;面向产业实际需求设置了九大赛道。其中&#xff0c;数据开发赛道2月8日正式上线首批赛题&#x…

跨域小样本系列2:常用数据集与任务设定详解

来源&#xff1a;投稿 作者&#xff1a;橡皮 编辑&#xff1a;学姐 带你学习跨域小样本系列1-简介篇 跨域小样本系列2-常用数据集与任务设定详解&#xff08;本篇&#xff09; 跨域小样本系列3&#xff1a;元学习方法解决CDFSL以及两篇SOTA论文讲解 跨域小样本系列4&#xf…

Unity 如何实现游戏Avatar角色头部跟随视角转动

文章目录功能简介实现步骤获取看向的位置获取头部的位置修改头部的朝向限制旋转角度超出限制范围时自动回正如何让指定动画不受影响功能简介 如图所示&#xff0c;当相机的视角转动时&#xff0c;Avatar角色的头部会同步转动&#xff0c;看向视角的方向。 实现步骤 获取看向的…

企业数字化转型的产品设计思路

数字化转型的核心是全面重塑企业的管理模式和经营模式&#xff0c;是迈向数字经济时代的方式。一、到底什么是数字化转型&#xff1f;数字化转型并不神秘。数字化转型是一种经营方式、一种经营理念&#xff0c;是将企业相关的人、物料、设备、资金等要素进行系统运转&#xff0…

命令模式包含哪些主要角色?怎样实现命令?

命令模式包含以下主要角色&#xff1a;抽象命令类&#xff08;Command&#xff09;角色&#xff1a; 定义命令的接口&#xff0c;声明执行的方法。具体命令&#xff08;Concrete Command&#xff09;角色&#xff1a;具体的命令&#xff0c;实现命令接口&#xff1b;通常会持有…