📅  最后修改于: 2023-12-03 15:31:18.780000             🧑  作者: Mango
HTML5 游戏开发一直是一个热门话题,其中无限滚动背景是一种常见的游戏效果。本文将为程序员介绍实现无限滚动背景的方法及代码。
实现无限滚动背景的方法是使用两张同样大小的背景图片,在显示区域内同时显示两张图片并移动其中一张,当一张图片完全移出显示区域后,将其移动到另一张图片的后面,实现无限滚动的效果。
具体步骤:
position: relative;
。position: absolute; top: 0; left: 0;
。<div class="bg-container">
<div class="bg-img"></div>
<div class="bg-img"></div>
</div>
.bg-container {
position: relative;
width: 100%;
height: 100vh;
overflow: hidden;
}
.bg-img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background-image: url('bg-img.jpg');
}
const bgContainer = document.querySelector('.bg-container');
const bgImgs = document.querySelectorAll('.bg-img');
const bgHeight = bgImgs[0].clientHeight;
window.addEventListener('scroll', () => {
const scrollY = window.scrollY;
const currentImgIndex = Math.floor(scrollY / bgHeight) % bgImgs.length;
const currentImg = bgImgs[currentImgIndex];
const prevImg = currentImgIndex === 0 ? bgImgs[bgImgs.length - 1] : bgImgs[currentImgIndex - 1];
const offsetY = (scrollY % bgHeight) - bgHeight;
currentImg.style.transform = `translateY(${offsetY}px)`;
prevImg.style.transform = `translateY(${offsetY}px)`;
});
以上就是使用 HTML5 和 JavaScript 实现无限滚动背景的方法及代码实现,希望对游戏开发有所帮助。