css+js完成黑洞吞噬小球成长功能

介绍

因为最近比较闲,就想着能不能自己做个h5游戏出来,所以先做个小东西试试手,既然要做游戏当然就要涉及到很多的运动轨迹以及碰撞后事件效果等问题,所以就做了这个小demo出来

原理

说起来原理其实也很简单的,想做一个黑洞吞噬效果的话首先我们至少需要两个物体

  • 黑洞
    这个的话比较简单,其实就是往中间放一个黑色的小球而已,可以根据我们需要稍微做一点样式上的优化
<style>
	#blackhole {
    
		width: 40px;
		height: 40px;
		background: radial-gradient(black, transparent, transparent);
		/* radial-gradient是渐变色方法的一种
		使用三个颜色作为渐变
		可以直接使用transparent设置透明色
		这样就可以得到一个带有散射效果的黑色小球 */
		position: absolute;
		left: calc(50% - 20px);
		top: calc(50% - 20px);
	}
</style>
<div id="blackhole"></div>

喏,大概就长这个样子
在这里插入图片描述

  • 小球
    小球的话可能稍微复杂一些,我这里是通过鼠标点击然后在鼠标点击位置生成一个红色小球,然后这个小球会在创建好之后向着黑洞的位置移动,代码如下
<style>
.block {
    
	width: 30px;
	height: 30px;
	position: absolute;
	background: radial-gradient(red, transparent, transparent);
	border-radius: 10px;
}
</style>
<body id="body">
</body>
<script>
/* 通过tagname直接获取body有点问题
所以选择添加id后通过byId方式获取dom元素 */
let body = document.getElementById('body')
body.addEventListener('click',e=>{
    
	let a = document.createElement('div')
	a.className = 'block'
	body.appendChild(a)
}
</scr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值