| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3017 人关注过本帖
标题:请教:一只乌龟的运动
只看楼主 加入收藏
FH_Istres
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-10-11
收藏
 问题点数:0 回复次数:30 
请教:一只乌龟的运动

import java.awt.*;
import java.awt.event.*;
import java.util.EventListener;
/*打算你按上,乌龟上爬,按下,乌龟下爬。但是一直没有repaint,怎么回事呀,请教下什么地方错了,怎么才能动。*/

public class WUGUI{
public static void main(String args[]){
Frame f = new Frame();
f.setSize(1024, 860);
MyPanel m = new MyPanel();
f.add(m);
f.setVisible(true);
}
}

class MyPanel extends Panel implements KeyListener{

int b = 250;//body Y
int h = 200;//head Y
int f1 = 270;//hand F
int f2 = 270;//hand F
int s1 = 400;//hang S
int s2 = 400;//hang S
int ey = 220; boolean a = true;

public void paint(Graphics g){

g.setColor(Color.BLUE); /* draw backGround begin*/
g.fillRect(1,1,1024,860);
g.setColor(Color.GREEN);
g.fillOval(330,b,140,200); /* draw body */
g.fillOval(370,h,60,100);
g.setColor(Color.BLACK);
g.fillOval(370,ey,10,10);
g.fillOval(420,ey,10,10); /* draw head */
g.setColor(Color.GREEN);
g.fillOval(310,f1,70,30); /* draw left up */
g.fillOval(310,s1,70,30); /* draw left down */
g.fillOval(420,f2,70,30); /* draw right up*/
g.fillOval(420,s2,70,30); /* draw right down*/

}

public void keyTyped(KeyEvent e) {
}

public void keyPressed(KeyEvent e) {
// TODO: Add your code here

if(KeyEvent.VK_UP == e.getKeyCode())
{
if(a == true)
{
a = false;
f1=f1-10;
s2=s2-10;
b=b-5;
h=h-5;
ey=ey-5;
}else{
a = true;
f2=f2-10;
s1=s1-10;
b=b-5;
h=h-5;
ey=ey-5;
}
}
if(KeyEvent.VK_DOWN == e.getKeyCode())
{
if(a == true)
{
a = false;
f2=f2+10;
s1=s1+10;
b=b+5;
h=h+5;
ey=ey+5;
}else{
a = true;
f1=f1+10;
s2=s2+10;
b=b+5;
h=h+5;
ey=ey+5;
}
}
repaint();


}

public void keyReleased(KeyEvent e) {
}

}

搜索更多相关主题的帖子: 乌龟 运动 
2006-10-11 14:35
hellboy
Rank: 1
等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
收藏
得分:0 

import java.awt.*;
import java.awt.event.*;
import java.util.EventListener;
/*打算你按上,乌龟上爬,按下,乌龟下爬。但是一直没有repaint,怎么回事呀,请教下什么地方错了,怎么才能动。*/

public class WuGui{
public static void main(String args[]){
Frame f = new Frame();
f.setSize(1024, 860);
MyPanel m = new MyPanel();
f.add(m);
f.setVisible(true);
}
}

class MyPanel extends Panel implements KeyListener{

int b = 250;//body Y
int h = 200;//head Y
int f1 = 270;//hand F
int f2 = 270;//hand F
int s1 = 400;//hang S
int s2 = 400;//hang S
int ey = 220; boolean a = true;
public MyPanel(){
this.addKeyListener(this);
}
public void paint(Graphics g){
//super.paint(g);
g.setColor(Color.BLUE); /* draw backGround begin*/
g.fillRect(1,1,1024,860);
g.setColor(Color.GREEN);
g.fillOval(330,b,140,200); /* draw body */
g.fillOval(370,h,60,100);
g.setColor(Color.BLACK);
g.fillOval(370,ey,10,10);
g.fillOval(420,ey,10,10); /* draw head */
g.setColor(Color.GREEN);
g.fillOval(310,f1,70,30); /* draw left up */
g.fillOval(310,s1,70,30); /* draw left down */
g.fillOval(420,f2,70,30); /* draw right up*/
g.fillOval(420,s2,70,30); /* draw right down*/

}

public void keyTyped(KeyEvent e) {
}

public void keyPressed(KeyEvent e) {
// TODO: Add your code here

if(KeyEvent.VK_UP == e.getKeyCode())
{
if(a == true)
{
a = false;
f1=f1-10;
s2=s2-10;
b=b-5;
h=h-5;
ey=ey-5;
}else{
a = true;
f2=f2-10;
s1=s1-10;
b=b-5;
h=h-5;
ey=ey-5;
}
repaint();
}
if(KeyEvent.VK_DOWN == e.getKeyCode())
{
if(a == true)
{
a = false;
f2=f2+10;
s1=s1+10;
b=b+5;
h=h+5;
ey=ey+5;
}else{
a = true;
f1=f1+10;
s2=s2+10;
b=b+5;
h=h+5;
ey=ey+5;
}
repaint();
}



}

public void keyReleased(KeyEvent e) {
}

}


努力 努力 !!!!!!
2006-10-11 22:24
hellboy
Rank: 1
等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
收藏
得分:0 
你没注册监听器 所以他就不动  不过你的乌龟画的还真强  

努力 努力 !!!!!!
2006-10-11 22:25
dingoo
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-10-10
收藏
得分:0 
这只乌龟果然够强,哈哈.
努力!

2006-10-12 06:01
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
收藏
得分:0 
  555 我运行他的乌龟,结果不能结束~~~!气死我了   

fighting!from now on!
2006-10-12 08:38
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
哇,我运行了一下,乌龟画得太强了,人才
至于为什么不会动,那是因为你没有注册事件监听
还有,键盘事件应该注册到顶级容器上,比如JFrame

可惜不是你,陪我到最后
2006-10-12 09:07
hushus
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-6-11
收藏
得分:0 

乌龟画的真不错
两个眼睛炯炯有神 
事件没有被监听

2006-10-12 12:12
开心一科
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2006-10-5
收藏
得分:0 

真牛,得向你学习 !


2006-10-12 13:22
FH_Istres
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-10-11
收藏
得分:0 
谢谢各位
就是没有加上addKeyListener()函数
谢谢各位帮忙啊!
2006-10-12 22:26
jflin
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-5-17
收藏
得分:0 
乌龟画得好厉害啊,能不能把改好的程序贴出来看一下?学习一下。
2006-10-13 19:29
快速回复:请教:一只乌龟的运动
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018468 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved