⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mypanel.java

📁 用java编写的类似于cs游戏的游戏源码
💻 JAVA
字号:
package org.loon.chair.example5;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JPanel;
/**
 * 
 * @author chenpeng
 * @email  ceponline@yahoo.com.cn
 * 
 * Loon Framework in Game 
 *
 */
public class MyPanel extends JPanel implements KeyListener, Common {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	//窗体的宽与高
    private static final int WIDTH = 480;
    private static final int HEIGHT = 480;
    //游戏地图
    private GameMap map;
    //角色控制
    private GameHandle role;

    public MyPanel() {
    	
    	 //设定初始构造时面板大小
        setPreferredSize(new Dimension(WIDTH, HEIGHT));

        //设定焦点在本窗体并付与监听对象
        setFocusable(true);
        addKeyListener(this);
        
        //获得地图实例
        map = new GameMap(this);
        //获得角色实例
        role = new GameHandle(1, 1, "image/hero.gif", map, this);
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);

        //描绘地图
        map.draw(g);

        //描绘角色
        role.draw(g);
    }

    public void keyPressed(KeyEvent e) {
        //获得按键编号
         int keyCode = e.getKeyCode();
         
         //通过转换器匹配事件
         switch (keyCode) {
             //当触发Left时
             case KeyEvent.VK_LEFT :
                 //进行left操作,仅符合move()中[规范]时执行,以下相同
             	role.move(LEFT);
                 break;
             //当触发Right时      
             case KeyEvent.VK_RIGHT :
             
            	 role.move(RIGHT);
                 break;
             //当触发Up时    
             case KeyEvent.VK_UP :
                 
            	 role.move(UP);
                 break;
             //当触发Down时    
             case KeyEvent.VK_DOWN :
               
            	 role.move(DOWN);
                 break;
         }

         // 重新绘制窗体图像
         // PS:在此例程中,仅进行了角色的简单移动处理
         // ,关于避免闪烁及限制活动区域问题,请见后续
         // 案例。
         
         repaint();
     }

	public void keyReleased(KeyEvent e) {
		// TODO Auto-generated method stub
		
	}

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


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -