java 创建游戏项目的几个基本框架练习

package 创建游戏项目的几个基本框架;

import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**

  • Frame 窗口类
  • 加载窗口,画图形,加载图片,编程中坐标的基本知识
  • @author Administrator

*/
public class GameFrame extends Frame {//GUI编程:AWT,swing等等,很少用; java不擅长桌面软件
//2:调用GameUtil方法加载图片
Image img = GameUtil.getImage(“images/sun.jpg”);

//1:加载窗口;lanch框架
public void lanchFrame(){
	//窗口大小
	setSize(500,500);
	//窗口起始位置
	setLocation(100,100);
	//窗口可见
	setVisible(true);
	
	//窗口监听:创建后解决 窗口关不了的方法;匿名内部类
	addWindowListener(new WindowAdapter() {//鼠标右键选Source,选Override,再选windowClosing
		@Override
		public void windowClosing(WindowEvent e) {
			System.exit(0);//System系统;exit退出;出现异常-1,正常是0;
			// TODO Auto-generated method stub;这个可以删掉
			}
		});		
}
//创建窗口画笔:鼠标右键选Source,选Override,再选window里的paint方法
@Override
public void paint(Graphics g) {
		g.drawLine(100, 100, 200, 200);//相对于窗口,画笔的起始位置到终点位置;一条线
	g.drawRect(100, 100, 200, 200);//矩形
	g.drawOval(100, 100, 200, 200);//圆形
	g.drawOval(100, 100, 300, 200);//椭圆
	//设置字体大小
	Font f = new Font("宋体",Font.BOLD,50);//字体,加粗,大小
	g.setFont(f);//调用
	g.drawString("我是王伟", 200, 200);//打印的字符串在窗口中的位置
	g.fillRect(100, 100, 20, 20);//填充矩形
	
	Color c = g.getColor();//使用后恢复原来颜色方法
	//改变颜色;Color颜色  RGB:R红,G绿,B蓝;0-255;
	g.setColor(Color.green);//绿色
	g.fillOval(300, 300, 20, 20);//填充圆形
	//super.paint(g);可以去掉:super.paint(g)是代表调用父类JApplet的paint方法
	g.setColor(c);//恢复原来颜色方法
 
	//添加画笔
	g.drawImage(img, 200, 200,null);//哪张图片;图片的位置

}
public static void main(String[] args) {
	GameFrame gf = new GameFrame();
	//调用窗口
	gf.lanchFrame();
}

}

//--------------------------------------------------------------------
package 创建游戏项目的几个基本框架;

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;

import javax.imageio.ImageIO;

/**

  • 工具类(游戏中常用工具类如加载图片等)
  • @author Administrator

*/
public class GameUtil {
private GameUtil(){} //工具类通常会将构造方法私有了,调用下面的就可以

//创建方法 Image图像 ;Ctrl+shift+o导入类
public static Image getImage(String path){//报出异常,把URL u = GameUtil.class.getClassLoader();异常消失
	//URL 链接
	URL u = GameUtil.class.getClassLoader().getResource(path);//返回一个Util对象;把URL类导入
	BufferedImage img = null;//导入
	try {
		img = ImageIO.read(u);//导入 ;然后出现异常 捕获处理
	} catch (IOException e) {
		e.printStackTrace();
	}
	return img;//返回 ;BufferedImageshi是Image的子类,所以img可以使用
}

}
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值