【发布时间】:2020-08-26 14:32:29
【问题描述】:
所以我正在构建一个视频游戏,其中一些火球从屏幕上落下。但是,一次只有一个图像穿过屏幕。我希望图像实际上被放大了很多次。为了理解我在说什么,这里有一张图片:
但我想做的不是只有一个图像(火球)从屏幕上掉下来,而是让一堆图像从屏幕上掉下来。
这是火球的代码:
//Fireball script
function fFireball(offset) {
return Math.floor(Math.random() * (window.innerWidth - offset))
}
let fireball = {x: fFireball(fireballElement.offsetWidth), y: 0}
const fireLoop = function() {
fireball.y += 2; fireballElement.style.top = fireball.y + 'px'
if (fireball.y > window.innerHeight) {
fireball.x = fFireball(fireballElement.offsetWidth)
fireballElement.style.left = fireball.x + 'px'; fireball.y = 0
}
}
fireballElement.style.left = fireball.x + 'px'
let fireInterval = setInterval(fireLoop, 1000 / 100)
还有图片:
<img src="Photo/fireball.png" id="fireball">
谢谢!
【问题讨论】:
-
大多数像这样的游戏都是用画布而不是 CSS 构建的,我想你会有更好的运气。
-
你会考虑使用 jquery 还是坚持使用纯 JavaScript?
标签: javascript html css function loops