gpt4 book ai didi

javascript - 在 div 游戏中弹跳 img

转载 作者:行者123 更新时间:2023-11-28 03:01:16 24 4
gpt4 key购买 nike

我的 javascript 代码有问题。我想编辑代码来制作我的小游戏。

这是我要编辑的原始代码。这是关于弹跳球。当您按下按钮时,球开始弹跳。球的位置是随机的,每个球都是随机移动的。当他们即将逃离边境时,他们正在返回。这段代码中的一切都完美无缺。原代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
#border {height:500px; width:500px; border:1px solid grey; margin:auto; position:relative}
b {display:block; height:10px; width:10px; border-radius:5px; background:red; position:absolute}
h1,div {text-align:center; margin:10px}
</style>
</head>
<body>

</body>

<h1>Balls</h1>
<div id='border'>
<b></b>
<b></b>
<b></b>
<b></b>
<b></b>
<b></b>
<b></b>
<b></b>
<b></b>
<b></b>
<b></b>
</div>

<div>
<button onclick="run=false"> Stop </button>
<button onclick="run=true;start()"> Start </button>
</div>


<script>
var b=document.getElementsByTagName('B');
var run=false;
var i;
for(i=0;i<b.length;i++)
{
b[i].x=Math.random()*490;
b[i].y=Math.random()*490;

b[i].vx=Math.random()*20-10;
b[i].vy=Math.random()*20-10;

b[i].style.left=b[i].x+"px";
b[i].style.top =b[i].y+"px";
}

function start()
{
var i;
for(i=0;i<b.length;i++)
{
b[i].x+=b[i].vx;
b[i].y+=b[i].vy;

if(b[i].x>490 || b[i].x<0) b[i].vx*=-1;
if(b[i].y>490 || b[i].y<0) b[i].vy*=-1;

b[i].style.left=b[i].x+"px";
b[i].style.top =b[i].y+"px";
}

if(run)
setTimeout(start,20);

}
</script>

</html>

我想用图像替换球。我想我做到了,但它根本不起作用。 图像总是在相同的位置。当我按下按钮移动它们时,图像会朝相同的方向移动。图像正在逃离边界(它们应该在墙上反弹并返回)。我的编辑:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
#border {height:500px; width:500px; border:1px solid grey; margin:auto; position:relative}
img {display:block; height:10px; width:10px; position:absolute}
h1,div {text-align:center; margin:10px}
</style>
</head>
<body>

</body>

<h1>Balls</h1>
<div id='border'>
<img src="http://www.doktoranci.uj.edu.pl/image/image_gallery?uuid=8de2ed31-63f2-42f3-83fd-8fc0b7c48975&groupId=1167150&t=1287521328354">
<img src="http://www.doktoranci.uj.edu.pl/image/image_gallery?uuid=8de2ed31-63f2-42f3-83fd-8fc0b7c48975&groupId=1167150&t=1287521328354">
<img src="http://www.doktoranci.uj.edu.pl/image/image_gallery?uuid=8de2ed31-63f2-42f3-83fd-8fc0b7c48975&groupId=1167150&t=1287521328354">
</div>

<div>
<button onclick="run=false"> Stop </button>
<button onclick="run=true; start()"> Start </button>
</div>


<script>
var b=document.getElementsByTagName('IMG');
var run=false;
var i;
for(i=0; i<b.length; i++)
{
b[i].x=Math.random()*490;
b[i].y=Math.random()*490;

b[i].vx=Math.random()*20-10;
b[i].vy=Math.random()*20-10;

b[i].style.left=b[i].x+"px";
b[i].style.top =b[i].y+"px";
}

function start()
{
var i;
for(i=0; i<b.length; i++)
{
b[i].x+=b[i].vx;
b[i].y+=b[i].vy;

if(b[i].x>490 || b[i].x<0) b[i].vx*=-1;
if(b[i].y>490 || b[i].y<0) b[i].vy*=-1;

b[i].style.left=b[i].x+"px";
b[i].style.top =b[i].y+"px";
}

if(run)
setTimeout(start,20);

}
</script>

</html>

我希望我的图像在原始代码中表现得像球一样。你是我唯一的希望。

最佳答案

而不是使用 <img> , 使用

b {background-image: url("http://www.doktoranci.uj.edu.pl/image/image_gallery?uuid=8de2ed31-63f2-42f3-83fd-8fc0b7c48975&groupId=1167150&t=1287521328354");
background-repeat: no-repeat;
background-position: right top;}

关于javascript - 在 div 游戏中弹跳 img,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34579697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com