Java,能帮我写多个图片随机在窗口运动的方法么

publicclassPlayBallFrameextendsMyFrame{Ballball1=newBall("images/ball1.png",0,100);Ba... public class PlayBallFrame extends MyFrame {

Ball ball1 = new Ball("images/ball1.png",0,100);
Ball ball2 = new Ball("images/ball2.png",0,200);
Ball ball3 = new Ball("images/ball3.png",0,300);
}
public void paint(Graphics g){

ball1.draw(g);
ball2.draw(g);
ball3.draw(g);
}

本人是java初学者,在窗口类中画出了图片之后,新建了一个Ball类,但是不会实现图片的随机运动(就是在窗口中任意角度跑动,碰到边框弹回来那种。)
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
lj322829
2014-12-04
知道答主
回答量:4
采纳率:0%
帮助的人:1.9万
展开全部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>漂浮广告</title>
<style type="text/css">
body{
margin:0;
margin-top:3px;
padding:0;
font-size:12px;
line-height:20px;
color:#333;
}
.float{
position:absolute;
z-index:1;
}
.main{
width:95%;
margin-left:auto;
margin-right:auto;
}
.left_indent{
padding-left:20px;
}
.red{
color:#F00;
}
</style>
</head>
<body>
<div id="float" class="float"><img src="guimei_float.jpg" id="floatImg" alt="漂浮广告" /></div>
<script type="text/javascript" >
//定义全局变量
var moveX = 0; //X轴方向移动的距离
var moveY = 0; //Y轴方向移动的距离
var step = 1; //图片移动的速度
var directionY = 0; //设置图片在Y轴的移动方向
var directionX = 0; //设置图片在X轴的移动方向

function changePos(){
var img = document.getElementById("float"); //图片所在层ID
var width = document.documentElement.clientWidth; //浏览器宽度
var height = document.documentElement.clientHeight; //浏览器高度
var imgHeight=document.getElementById("floatImg").height; //漂浮图片高度
var imgWidth=document.getElementById("floatImg").width; //漂浮图片宽度
img.style.left =parseInt(moveX + document.documentElement.scrollLeft)+"px"; //漂浮图片距浏览器左侧位置
img.style.top = parseInt(moveY + document.documentElement.scrollTop)+"px"; //漂浮图片距浏览器顶端位置
//alert(img.style.left);
if (directionY==0){
moveY = moveY + step; //漂浮图片在Y轴方向上向下移动
}
else{
moveY = moveY - step; //漂浮图片在Y轴方向上向上移动
}
if (moveY < 0) { //如果漂浮图片漂到浏览器顶端时,设置图片在Y轴方向上向下移动
directionY = 0;
moveY = 0;
}
if (moveY >= (height - imgHeight)) { //如果漂浮图片漂到浏览器底端时,设置图片在Y轴方向上向上移动
directionY = 1;
moveY = (height - imgHeight);
}
if (directionX==0){
moveX = moveX + step; //漂浮图片在X轴方向上向右移动
}
else {
moveX = moveX - step; //漂浮图片在X轴方向上向左移动
}
if (moveX < 0) { //如果漂浮图片漂到浏览器左侧时,设置图片在X轴方向上向右移动
directionX = 0;
moveX = 0;
}
if (moveX >= (width - imgWidth)) { //如果漂浮图片漂到浏览器右侧时,设置图片在X轴方向上向左移动
directionX = 1;
moveX = (width - imgWidth);
}
// setTimeout("changePos()",30);
}
setInterval("changePos()",30);
//window.onload=changePos;

</script>
<div class="main"><br />
</div>
</body>
</html>
这里是单个图片的漂浮效果,自己修改一下图片的路径和名称就好了,看能不能帮助你
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-12-04
展开全部
不断重绘图形,g.drawImage(Image,x,y,null) ,每次随机有x、y
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
优质内容提供者andy
2014-12-04 · TA获得超过1561个赞
知道大有可为答主
回答量:2551
采纳率:72%
帮助的人:760万
展开全部
这个需要用到线程和重绘
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式