검색결과 리스트
글
비행기
package shooting;
public class Enemy {
private EnemyMissile[] missiles;
public Enemy() {
missiles=new EnemyMissile[100];
}
}
======================================
package shooting;
public class EnemyMissile {
}
=====================================
package shooting;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
public class Fighter {
private UserMissile missiles[];
private Image img;
private int x,y; //뱅기 좌표
private int speed;
public Fighter() {
missiles=new UserMissile[100]; //미사일 보유
x=170;
y=500;
speed=5; //스피드 만큼 좌표를 바꾼다
Toolkit tk=Toolkit.getDefaultToolkit(); //윈도우 제공
img=tk.getImage("res/fighter.png"); //이미지 불러오는거
}
public void paint(Graphics g,GameBoard parent) {
g.drawImage(img,x,y,parent); //게임 보드에 그림을 그려달라
}
public void move(int key) {
switch(key){
case KeyEvent.VK_LEFT:
x -= speed;
break;
case KeyEvent.VK_RIGHT:
x += speed;
break;
case KeyEvent.VK_DOWN:
y += speed;
break;
case KeyEvent.VK_UP:
y -= speed;
break;
}
}
}
====================================
package shooting;
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class GameBoard extends Canvas { // 겜보드가 세가지를 가지고 있다.
private Fighter fighter; // Canvas는 윈도우가 제공해주는거(도화지 역할)
private Enemy[] enemies;
private StatusBar statusBar; // 정의만 한다
private Image img; // 함수를 구현할때 필요한 이미지
public GameBoard() {
fighter = new Fighter(); // 객체 생성
enemies = new Enemy[100]; // 참조할수 있게 배열 선언,객체 생성은 안됐다.
statusBar = new StatusBar();
Toolkit tk = Toolkit.getDefaultToolkit(); // 윈도우 제공
img = tk.getImage("res/우주.jpg"); // 이미지 불러오는거
addKeyListener(new KeyAdapter() { //KeyListener와 달리 어탭더 안에 세가지 기능이 있다.
//public void keyPressed(KeyEvent e)
//public void keyReleased(KeyEvent e) { }
//public void keyTyped(KeyEvent e) { }
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
switch (key) {
case KeyEvent.VK_LEFT: // 비행기를 왼쪽으로
case KeyEvent.VK_RIGHT:
case KeyEvent.VK_DOWN:
case KeyEvent.VK_UP:
fighter.move(key); // key 가 눌리면 무브함수가 바꿔주지만 그림은 바뀌지않는다.
break;
}
repaint(); // 화면을 다시 그리게 한다.
}
});
}
public void paint(Graphics g) {
super.paint(g);
g.drawImage(img, 0, 0, this); // 그림을 그려달라
fighter.paint(g, this); // 파이터에 그림을 그려달라(그림 그리는 도구,도화지)
}
}
/*
* MyKeyListener클래스를 처음에는 생성했는데 필요 없다. //public class MyKeyListener implements
* KeyListener { //키입력받는 기능을 구현하겠다 //내부 클래스
* public void keyPressed(KeyEvent e) {
* // 키가 눌리는거에 관심
*
* final int LEFT=37;final int RIGHT=39; //상수형 변수는 대문자로
*
* int key = e.getKeyCode();
*
* switch (key) {
* case KeyEvent.VK_LEFT: //비행기를 왼쪽으로
* case KeyEvent.VK_RIGHT:
* case KeyEvent.VK_DOWN:
* case KeyEvent.VK_UP:
*
* fighter.move(key); //key 가 눌리면 무브함수가 바꿔주지만 그림은 바뀌지않는다.
* break; }
* repaint();
* //화면을 다시 그리게 한다. }
*
* public void keyReleased(KeyEvent arg0) { // 키가 떼는거에 관심
* }
* public void keyTyped(KeyEvent arg0) { // 어떤 문자가 눌렸는지 관심(화살표 누르면 실행X)
*
* } }
*/
/*
* -------------------------------------------------------------------
*
* addKeyListener(new KeyListener() { //클래스를 생성할 필요 없다.
* 한번만 객체 생성하면 되기때문에,익명클래스
* public void keyPressed(KeyEvent e) {
*
* int key = e.getKeyCode();
*
* switch (key) {
* case KeyEvent.VK_LEFT: // 비행기를 왼쪽으로
* case KeyEvent.VK_RIGHT:
* case KeyEvent.VK_DOWN:
* case KeyEvent.VK_UP:
*
* fighter.move(key); // key 가 눌리면 무브함수가 바꿔주지만 그림은 바뀌지않는다. break; } repaint();
* // 화면을 다시 그리게 한다. }
*
* public void keyReleased(KeyEvent e) { }
* public void keyTyped(KeyEvent e) { }
* });
*/
============================================================================
package shooting;
import java.awt.Frame;
public class MainFrame extends Frame{ //윈도우가 제공
//private SplashBoard splashBoard; //게임 전 스페이스를 눌러 게임시작하는거
private GameBoard gameBoard;
//private RankingBoard rankingBoard;
public MainFrame() {
gameBoard=new GameBoard();
this.add(gameBoard); //이걸 해줘야 게임이 뜬다. add는 프레임에 보드 붙여준다.
}
}
=====================================
package shooting;
public class Program {
public static void main(String[] args){
//GameBoard gameBoard=new GameBoard(); 안된다 Frame부터 띄워야한다.
MainFrame frm=new MainFrame();
frm.setSize(420,500);
frm.setVisible(true);
}
}
==========================================
package shooting;
public class StatusBar {
}
================================
package shooting;
public class UserMissile {
}