IDEA的使用和第一个java项目
IDEA的使用(开发神器)
打开idea
创建第一个代码项目
编写如下代码
/**
* 我的第一个IDEA测试类
* 测试IDEA的使用
*/
public class Main {
public static void main(String[] args) {
System.out.println("你好吗!");
}
}
main+回车快速补齐
sout+回车快速补齐
字节码文件:
源码文件夹:
小型项目:台球游戏_绘制窗口_加载图片
注意;
要求:
素材
项目开始
第一步:
在项目文件src文件夹下创建一个包,在包中创建一个BallGame类
先书写如下开始播报代码:
public class BallGame extends JFrame{
public static void main(String[] args) {
System.out.println("我的小游戏开始了"); //开始播报
}
游戏窗口设置代码:
package GAME;
import java.awt.*;
import javax.swing.*;
public class BallGame extends JFrame{
//创建窗口
void launchFrame(){
setSize(856,501);//窗口大小
setLocation(100,100);//窗口位置
setVisible(true);//窗口是否可见
}
public static void main(String[] args) {
System.out.println("我的小游戏开始了"); //开始播报
//调用窗口
BallGame game = new BallGame();
game.launchFrame();
}
}
运行可出现空白窗口:
第二步:
在项目文件下创建image文件夹,把两张素材图片复制粘贴到文件夹中。
调用素材文件地址代码:
//引用文件路径
Image ball = Toolkit.getDefaultToolkit().getImage("image/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("image/desk.png");
游戏窗口代码:
Image desk = Toolkit.getDefaultToolkit().getImage("image/desk.png");
//绘制窗口
public void paint(Graphics g){
System.out.println("窗口被画了一次!");//窗口动态播报
g.drawImage(desk,0,0,null);
g.drawImage(ball,200,200,null);
}
完整代码:
package GAME;
import java.awt.*;
import javax.swing.*;
public class BallGame extends JFrame{
//引用文件路径
Image ball = Toolkit.getDefaultToolkit().getImage("image/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("image/desk.png");
//绘制窗口
public void paint(Graphics g){
System.out.println("窗口被画了一次!");//窗口动态播报
g.drawImage(desk,0,0,null);
g.drawImage(ball,200,200,null);
}
//创建窗口
void launchFrame(){
setSize(856,501);//窗口大小
setLocation(100,100);//窗口位置
setVisible(true);// 窗口是否可见
}
public static void main(String[] args) {
System.out.println("我的小游戏开始了"); //开始播报
//调用窗口
BallGame game = new BallGame();
game.launchFrame();
}
}
运行结果:
第三步:动画实现效果(球体碰撞)
while(true){
repaint();
try {
Thread.sleep(40); //1s=1000ms; 一秒绘制1000/40=25次每秒。
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
package GAME;
import java.awt.*;
import javax.swing.*;
public class BallGame extends JFrame{
//引用文件路径
Image ball = Toolkit.getDefaultToolkit().getImage("image/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("image/desk.png");
//绘制窗口
double x = 200;
double y = 200;
double degree = 3.14/3; //弧度。 3.14 =180°。 60°。
// boolean right =true; //控制小球水平移动方向
public void paint(Graphics g){
System.out.println("窗口被画了一次!");//窗口动态播报
g.drawImage(desk,0,0,null);
g.drawImage(ball,(int)x,(int)y,null);
// if (right){
// x = x + 2;
// }else {
// x = x - 2;
// }
// if (x>816){
// right = false; //左边界
// }
// if (x<40){
// right = true; //右边界
// }
x = x + 10*Math.cos(degree);
y = y + 10*Math.sin(degree);
//碰到上下边界
if(y>501||y<0){
degree = - degree;
}
//碰到左右边界
if(x>831||x<0){
degree = 3.14 - degree;
}
}
//创建窗口
void launchFrame(){
setSize(856,501);//窗口大小
setLocation(100,100);//窗口位置
setVisible(true);// 窗口是否可见
//实现动画,每秒绘制窗口25次
while(true){
repaint();
try {
Thread.sleep(40); //1s=1000ms; 一秒绘制1000/40=25次每秒。
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
public static void main(String[] args) {
System.out.println("我的小游戏开始了"); //开始播报
//调用窗口
BallGame game = new BallGame();
game.launchFrame();
}
}