You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 자바 슈팅 게임 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Chewathai27.com/to team, along with other related topics such as: 자바 슈팅 게임 자바 간단한 게임 소스, 자바 GUI 간단한 게임, 자바 게임 소스코드, 자바 리듬게임, 자바 RPG 게임, 자바 슈팅게임 적, 자바 모바일 게임, 자바 게임 오픈소스
조승현-기말-프로젝트-슈팅게임 – Home
- Article author: itgit.cu.ac.kr
- Reviews from users: 33396 Ratings
- Top rated: 4.4
- Lowest rated: 1
- Summary of article content: Articles about 조승현-기말-프로젝트-슈팅게임 – Home import java.awt.event.KeyEvent; import java.util.Timer; import java.util.TimerTask;. public ShootingGame extends JFrame { …
- Most searched keywords: Whether you are looking for 조승현-기말-프로젝트-슈팅게임 – Home import java.awt.event.KeyEvent; import java.util.Timer; import java.util.TimerTask;. public ShootingGame extends JFrame {
- Table of Contents:
HurabonoProject/자바 슈팅게임 프로그램 at master · th6366/HurabonoProject · GitHub
- Article author: github.com
- Reviews from users: 26372 Ratings
- Top rated: 4.0
- Lowest rated: 1
- Summary of article content: Articles about HurabonoProject/자바 슈팅게임 프로그램 at master · th6366/HurabonoProject · GitHub HurabonoProject/자바 슈팅게임 프로그램 … import java.awt.event.KeyEvent; … 게임과 직접적인 상관은 없이 게임 실행을 위한 창을 준비하는 과정. …
- Most searched keywords: Whether you are looking for HurabonoProject/자바 슈팅게임 프로그램 at master · th6366/HurabonoProject · GitHub HurabonoProject/자바 슈팅게임 프로그램 … import java.awt.event.KeyEvent; … 게임과 직접적인 상관은 없이 게임 실행을 위한 창을 준비하는 과정. team project introduce. Contribute to th6366/HurabonoProject development by creating an account on GitHub.
- Table of Contents:
HurabonoProject자바 슈팅게임 프로그램
Footer
See more articles in the same category here: Top 673 tips update new.
import javax.swing.;
import java.awt.;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.Timer;
import java.util.TimerTask;
public class ShootingGame extends JFrame {
private Image bufferImage; //버퍼이미지선언
private Graphics screenGraphic;
private Image mainScreen = new ImageIcon(“src/images/Main_F.png”).getImage();//Main화면불러오기 private Image loadingScreen = new ImageIcon(“src/images/Gameloading_F.png”).getImage();//로딩화면 불러오기 private Image gameScreen = new ImageIcon(“src/images/Gamebackground.png”).getImage();//게임할때 배경화면 불러오기 private boolean isMainScreen, isLoadingScreen, isGameScreen; public static Game game = new Game(); public ShootingGame() { setTitle(“Shooting Game”); //제목설정 setUndecorated(true);//테두리가 없는 창을 구현 setSize(Main.SCREEN_WIDTH, Main.SCREEN_HEIGHT);//창의 크기 설정 setResizable(false); //창크기 조절안되게 설정 setLocationRelativeTo(null); //윈도우창을 화면의 가운데에 띄움 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //프레임 윈도우를 닫으면 프로그램을 종료하도록 설정 setVisible(true); //화면에 프레임 출력 setLayout(null); //배치관리자없음 init(); } private void init() { //초기화를 해줄 메소드 isMainScreen = true; //메인화면 출력 isLoadingScreen = false; //로딩화면은 출력하지 않음 isGameScreen = false; //게임화면 출력하지 않음 addKeyListener(new KeyListener()); //enter키누르면 다음 화면으로 넘어가기 위해 } private void gameStart() { //로딩할때의 화면 메소드 isMainScreen = false; isLoadingScreen = true; Timer loadingTimer = new Timer(); //Timer를 이용하여 로딩화면이 뜨고 2초후 게임화면이 뜨도록 설정 TimerTask loadingTask = new TimerTask() { @Override public void run() { isLoadingScreen = false; //시간이 지나면 로딩화면은 나오지않음 isGameScreen = true; //시간이 지나면 게임화면이 나옴 game.start(); } }; loadingTimer.schedule(loadingTask, 2000); //2초지나면 게임화면으로 넘어감 } public void paint(Graphics g) { bufferImage = createImage(Main.SCREEN_WIDTH, Main.SCREEN_HEIGHT); screenGraphic = bufferImage.getGraphics(); screenDraw(screenGraphic); g.drawImage(bufferImage, 0, 0, null); //버퍼 이미지를 만들어 화면에 뿌려 깜빡임을 최소화함 } public void screenDraw(Graphics g) { //graphic클래스를 이용하여 배경화면 구현 if (isMainScreen) { //메인화면 g.drawImage(mainScreen, 0, 0, null); } if (isLoadingScreen) { //로딩화면 g.drawImage(loadingScreen, 0, 0, null); } if (isGameScreen) { //게임화면 g.drawImage(gameScreen, 0, 0, null); game.gameDraw(g); } this.repaint(); } class KeyListener extends KeyAdapter { @Override public void keyPressed(KeyEvent e) { //버튼을 눌렀을 때 switch(e.getKeyCode()) { case KeyEvent.VK_W: //W버튼을 누르면 기체가 위로 올라감 game.setUp(true); break; case KeyEvent.VK_S: //S버튼을 누르면 기체가 아래로 내려감 game.setDown(true); break; case KeyEvent.VK_A: //A버튼을 누르면 기체가 왼쪽으로 이동함 game.setLeft(true); break; case KeyEvent.VK_D: //D버튼을 누르면 기체가 오른쪽으로 이동함 game.setRight(true); break; case KeyEvent.VK_SPACE: //스페이스바를 누르면 미사일이 나옴 game.setShooting(true); break; case KeyEvent.VK_ENTER: //엔터키를 누르면 로딩화면이 뜨고 게임이 시작됨 if (isMainScreen) { gameStart(); } break; case KeyEvent.VK_ESCAPE: //ESC버튼을 누르면 게임이 종료됨 System.exit(0); break; } } public void keyReleased(KeyEvent e) { //키를 떼었을때 switch(e.getKeyCode()) { case KeyEvent.VK_W: //키를 누르지 않을 때는 위로 올라가지않음(멈춤) game.setUp(false); break; case KeyEvent.VK_S://키를 누르지 않을 때는 아래로 내려가지않음(멈춤) game.setDown(false); break; case KeyEvent.VK_A://키를 누르지 않을 때는 왼쪽로 이동하지않음(멈춤) game.setLeft(false); break; case KeyEvent.VK_D://키를 누르지 않을 때는 오른쪽으로 이동하지않음(멈춤) game.setRight(false); break; case KeyEvent.VK_SPACE://키를 누르지 않을 때 미사일이 나가지 않음 game.setShooting(false); break; } } }
}
import javax.swing.;
import java.awt.;
import java.util.ArrayList;
public class Game extends Thread {
private int delay = 20; //딜레이시간 변수 지정
private long pretime; //현재시간변수
private int cnt; //이벤트 발생주기 설정을 위해 변수 지정
private int score;
private Image player = new ImageIcon(“src/images/player.png”).getImage(); private int playerX, playerY; //사용자 위치 변수 private int playerWidth = player.getWidth(null);//사용자그림의 넓이 private int playerHeight = player.getHeight(null); private int playerSpeed = 10; //키입력이 한번 인식되었을 때 플레이어가 이동할 거리 private int playerHp = 30; // 사용자 HP private boolean up, down, left, right, shooting; //플레이어와 공격을 제어할 변수 private boolean isOver; //플레이어의 공격, 적, 적공격을 담을 ArrayList private ArrayList
playerAttackList = new ArrayList (); private ArrayList enemyList = new ArrayList (); private ArrayList enemyAttackList = new ArrayList (); private PlayerAttack playerAttack; private Enemy enemy; private EnemyAttack enemyAttack; @Override public void run() { reset(); //쓰레드가 시작할 때 reset 메소드도 실행 while(true) { while (!isOver) { pretime = System.currentTimeMillis(); if (System.currentTimeMillis() – pretime < delay) { //현재시간 - (cnt가 증가하가지너 시간)< delay일 경우 그차이만큼 Thread에 delay해줌 try { Thread.sleep(delay - System.currentTimeMillis() + pretime); keyProcess(); playerAttackProcess(); enemyAppearProcess(); enemyMoveProcess(); enemyAttackProcess(); cnt++; } catch (InterruptedException e) { e.printStackTrace(); } } } try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } public void reset() { isOver = false; cnt = 0; //이벤트 초기화 score = 0; //점수초기화 playerX = 10;//처음 플레이어의 위치 playerY = (Main.SCREEN_HEIGHT- playerHeight) /2; //처음 플레이어의 위치 playerAttackList.clear(); enemyList.clear(); enemyAttackList.clear(); } private void keyProcess() { //게임화면에서 나가지 않도록 player와 의 x값과 y를 지정해준다 if (up && playerY - playerSpeed > 0) playerY -= playerSpeed; if (down && playerY + playerHeight + playerSpeed < Main.SCREEN_HEIGHT) playerY += playerSpeed; if (left && playerX - playerSpeed >0) playerX -= playerSpeed; if (right && playerX + playerWidth + playerSpeed < Main.SCREEN_WIDTH) playerX += playerSpeed; if (shooting && cnt % 15==0) { playerAttack = new PlayerAttack(playerX + 222, playerY +25); playerAttackList.add(playerAttack); } } private void playerAttackProcess() { //공격처리해주는 메소드 for(int i = 0; i enemy.x && playerAttack.x enemy.y && playerAttack.y < enemy.y + enemy.height) { enemy.hp -= playerAttack.attack; playerAttackList.remove(playerAttack); } if (enemy.hp <= 0) { enemyList.remove(enemy); score += 50; //적을 격추했을 때 점수가 오름 } } } } private void enemyAppearProcess() { //주기적으로 적을 출현시키는 메소드 if(cnt % 80 == 0) { enemy = new Enemy(1120, (int)(Math.random()*621)); //새로운 적이 랜덤으로 생성 enemyList.add(enemy); } } private void enemyMoveProcess() { //적의 움직임 구현 for (int i = 0; i playerX & enemyAttack.x < playerX + playerWidth && enemyAttack.y > playerY && enemyAttack.y < playerY + playerHeight) { playerHp -= enemyAttack.attack; enemyAttackList.remove(enemyAttack); if (playerHp <= 0) isOver = true; //적에게 공격당했을 때 HP가 0이하면 isOver 실행 } } } public void gameDraw(Graphics g) { //게임이미지의 그래픽 구현 playerDraw(g); enemyDraw(g); infoDraw(g); } public void infoDraw(Graphics g) { //게임 종료되었을때의 그래픽 구현 g.setColor(Color.WHITE); g.setFont(new Font("Arial", Font.BOLD, 40)); g.drawString("SCORE : "+ score, 40, 80); if (isOver) { //게임이 종료되었을 때 g.setColor(Color.RED); //글자색을 빨간색으로 설정 g.setFont(new Font("Arial", Font.BOLD, 80)); //글씨체는 Arial, 글자굵게하고, 크기는 80으로 설정 g.drawString("GAME OVER", 400, 360);//GAME OVer가 나오는 위치 } } public void playerDraw(Graphics g) { //플레이어관련 그래픽 구현 g.drawImage(player, playerX, playerY, null); g.setColor(Color.GREEN); //플레이어 HP바 색깔 g.fillRect(playerX - 1, playerY - 40, playerHp * 6, 20); for(int i = 0; i
So you have finished reading the 자바 슈팅 게임 topic article, if you find this article useful, please share it. Thank you very much. See more: 자바 간단한 게임 소스, 자바 GUI 간단한 게임, 자바 게임 소스코드, 자바 리듬게임, 자바 RPG 게임, 자바 슈팅게임 적, 자바 모바일 게임, 자바 게임 오픈소스