java实现 swing模仿金山打字 案例源码,更多Java技术就去Java教程网。http://java.662p.com
代码:
<font size="3">import Java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.io.File; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; public class Main { public char c; //苹果上的字母 public int x = 60, y = 0; // 敌人出现的坐标 public final int XSPEED=5,YSPEED=2; //苹果xy方向移动的速度 public int center; //初始中心值 public boolean turnleft = true; //是否向左移动 public boolean alive = true; //是否活着 public Random ran = new Random(); //随机数的种子 public TypeFrame tf=null; //所属的框架 public Image appleimg = null; //苹果的图片 public Image bg = Toolkit.getDefaultToolkit().getImage("bg.jpg"); //背景图片 public Main(TypeFrame tf) { this.tf=tf; x = randomlocation(); //得到随机合格的随机x坐标 y=ran.nextInt(20); //得到随机的y坐标 if(ran.nextInt(2)==0){ turnleft=true; }else { turnleft=false; } center = x; //设置初始中心值为x c=randomchar(); //得到随机的字母值 try { appleimg = ImageIO.read(new File("apple.gif")); //苹果的图片 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void draw(Graphics g) { Color color = g.getColor(); //得到上下文颜色 g.setColor(Color.red); //设置上下文颜色 g.setFont(new Font("Dialog", 4, 40)); //设置字体 if (alive) { g.drawImage(appleimg, x, y, null); //绘制苹果图片 g.drawString(c+ "", x + 20, y + 60); //绘制苹果字母 } g.setColor(color); //将上下文颜色设置回去 } public int randomlocation(){ //产生苹果的随机横坐标的函数 int x1=ran.nextInt(TypeFrame.GAME_WIDTH - 40); for (int i = 0; i < tf.apples.size(); i++) { if(Math.abs(x1-tf.apples.get(i).x)<60){ return randomlocation(); } } return x1; } public char randomchar(){ //产生不与存在的苹果字母相同的字母的方法 char ch=(char)(‘a‘+ran.nextInt(26)); for (int i = 0; i < tf.apples.size(); i++) { if(ch==tf.apples.get(i).c) return randomchar(); } return ch; } } </font>
详细说明:http://java.662p.com/thread-3680-1-1.html
时间: 2024-10-08 15:25:15