안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

레이블이 변신인간인 게시물을 표시합니다. 모든 게시물 표시
레이블이 변신인간인 게시물을 표시합니다. 모든 게시물 표시

2011년 8월 29일 월요일

[변신인간] Map.java (GUI 부분)


package com.jay.Change;

import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Random;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import com.jay.Character.*;
import com.jay.Control.*;

public class Map {
        Panel에 주인공과 몬스터들을 삽입하여 제어
CPanel cPanel = new CPanel();
boolean isUp, isDown, isLeft, isRight, isA, isChange = false;
static final String bPath = "D:/자바 프로그램/변신인간/하늘2.jpg";
ImageIcon img;

Control control = new Control(cPanel);
public static void main(String[] args) {
Map map = new Map();
map.go();
}

public void go() {
JFrame frame = new JFrame();
frame.setTitle("ChangeMan");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
img = new ImageIcon(bPath);

JPanel background = new JPanel();
background.setLayout(new BorderLayout());
JLabel label = new JLabel(new ImageIcon(bPath));
label.setHorizontalAlignment(JLabel.CENTER);
background.add(label); // default center section
// background.add(cPanel);
frame.getContentPane().add(cPanel);
cPanel.addKeyListener(new ListenKey());
frame.setFocusable(true);
frame.setSize(820, 650);
frame.setVisible(true);
cPanel.requestFocus();

control.Thread();
}

class ListenKey implements KeyListener {

@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
switch (e.getKeyCode()) {
case KeyEvent.VK_LEFT:
control.setIsLeft(true);
break;
case KeyEvent.VK_RIGHT:
control.setIsRight(true);
break;
case KeyEvent.VK_UP:
control.setIsUp(true);
break;
case KeyEvent.VK_DOWN:
control.setIsDown(true);
break;
case KeyEvent.VK_A:
control.setIsA(true);
break;
}
}

@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
switch (e.getKeyCode()) {
case KeyEvent.VK_LEFT:
control.setIsLeft(false);
break;
case KeyEvent.VK_RIGHT:
control.setIsRight(false);
break;
case KeyEvent.VK_UP:
control.setIsUp(false);
break;
case KeyEvent.VK_DOWN:
control.setIsDown(false);
break;
case KeyEvent.VK_A:
control.setIsA(false);
break;
}
}

@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}

class CPanel extends JPanel {

/**
*
*/
private static final long serialVersionUID = 6652451537073754302L;

public void paintComponent(Graphics g) {
g.drawImage(img.getImage(), 0, 0, this);
control.Move(g);
}
}
}

KeyListener를 이용해서 컨트롤 제어

2011년 8월 22일 월요일

[변신인간] 간단한 게임을 만들어보자.

 시나리오
 바야흐로 2050년, 인류는 최대의 위기에 봉착해 있다. 실상이 파악 되지 않았던 UFO가 지구를 침공한 것이다. 그들은 무차별적으로 인체 실험을 하였고 말로다 할 수 없는 어마어마한 인원들이 희생되어 갔다. 그리고 마침내 그들은 지구를 식민지로 만들고 지구를 통치하기 시작하였다.  이 때, 그 들의 무자비한 실험 결과 변신인간이 탄생하게 된다. 그는 무기를 먹음으로써 무기로 변할 수 있었고 그 능력을 바탕으로 수용소를 탈출한다. 이제 그는 외계인의 우두머리를 처치하기 위해 외로운 싸움을 시작한다.