基本信息
源码名称:植物大战僵尸 游戏源码下载
源码大小:3.10M
文件格式:.rar
开发语言:Java
更新时间:2013-12-31
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 6 元×
微信扫码支付:6 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package nonoocean.MainPlayFrame; import nonoocean.Scene.*; import nonoocean.Bombs.*; import nonoocean.Tools.*; import nonoocean.Buildings.BuildingManager; import nonoocean.Dialog.*; import nonoocean.Element.*; import nonoocean.WholeControl.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class PlayPanel extends JPanel implements Runnable,MouseListener,MouseMotionListener,KeyListener,WindowListener { //background调试 只调用init()函数即可开始游戏 public static boolean ispause=false; boolean shouldDrawBlood=false; SunNumber sunnumber=new SunNumber(); private Select_menuDialog dialog=null; private CardManager cardmanager=new CardManager(); private SunManager sunmanager=new SunManager(); private ZonbieManager zonbieManager=new ZonbieManager(); private Background background=new Background(cardmanager,sunmanager,zonbieManager); private CardListener cardlistener=new CardListener(cardmanager); private BuildingManager buildingManager=new BuildingManager(cardlistener); private BombManager bombManager=new BombManager(); private WholeControlManager controlManager=new WholeControlManager(zonbieManager, buildingManager, bombManager,this); public Home home=new Home(); AreaTest areaTest=new AreaTest(); public GamePanel gp; //组建 JButton jb_menu; Image image_menu,image_menu1; //调试变量 smallZobie z; public PlayPanel(GamePanel gp){ super(); setLayout(null); this.gp=gp; this.addMouseListener(this); this.addMouseMotionListener(this); addMenuButton(); //调试变量 jb_menu.setEnabled(false); showme(); // z=new smallZobie(); // // bg.init(); } private void addMenuButton(){ image_menu=ImageLoad.loadImage("Dialog\\Dialog_mainmenu.png"); image_menu1=ImageLoad.loadImage("Dialog\\Dialog_mainmenu1.png"); jb_menu=new JButton(); jb_menu.setIcon(new ImageIcon(image_menu)); jb_menu.setPressedIcon(new ImageIcon(image_menu1)); jb_menu.setCursor(new Cursor(Cursor.HAND_CURSOR)); jb_menu.setContentAreaFilled(false); jb_menu.setIgnoreRepaint(true); jb_menu.setBorder(null); jb_menu.setBounds(690, 1, image_menu.getWidth(null), image_menu.getHeight(null)); jb_menu.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { PlayPanel.ispause=true; if(dialog==null){ dialog=new Select_menuDialog(gp.pf, true, returnme(),getX() 150,getY() 50); } else { dialog.setLocation(getX() 150,getY() 50); dialog.show(); } } }); add(jb_menu); } public PlayPanel returnme(){ PlayPanel pp=this; return pp; } public void showme(){ setBackground(Color.RED); setLayout(null); } public void switchToEnd(){ gp.switchToEnd(); } public void switchToMenu(){ gp.switchToMenu(); } //初始化函数 public void init(){ PlayPanel.ispause=false; Thread t=new Thread(this); t.start(); sunnumber.init(); cardmanager.init(); background.init(); sunmanager.init(); buildingManager.init(); bombManager.init(); home.init(); jb_menu.setEnabled(false); } //暂时调试 public void paintComponent(Graphics g){ super.paintComponent(g); g.drawImage(background.getImage_background(), 690, 0, 800, 600, 915, 0, 1025, 600, null); } public void paint(Graphics g){ super.paint(g); background.drawBackground(g); if(background.laying.laying_end){ cardmanager.drawCard(g); sunnumber.drawNum(g); buildingManager.drawBuildings(g, true); zonbieManager.drawAllZonbie(g, true); cardlistener.drawMoveImage(g); bombManager.drawAllBomb(g); home.drawme(g); sunmanager.drawAllSun(g); if(!jb_menu.isEnabled())jb_menu.setEnabled(true); } // for(int i=0;i<5;i ){ // g.fillOval(690, 150, 5, 5); // g.fillOval(690, 247, 5, 5); // g.fillOval(690, 344, 5, 5); // g.fillOval(690, 441, 5, 5); // g.fillOval(690, 538, 5, 5); // } } @Override public void run() { // TODO Auto-generated method stub while(true){ try { Thread.sleep(20); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } this.repaint(); } } @Override public void mouseDragged(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseMoved(MouseEvent arg0) { // TODO Auto-generated method stub if(background.laying.laying_end){ cardlistener.setMouveInfo(arg0.getX(), arg0.getY()); cardlistener.judgeWhatShouldDraw(arg0.getX(), arg0.getY()); if(sunmanager.istouch(arg0.getX(), arg0.getY()))setCursor(new Cursor(Cursor.HAND_CURSOR)); else setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); } } @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub if(background.laying.laying_end){ if(e.getModifiers()==InputEvent.BUTTON1_MASK){ cardlistener.judgeShouldDraw(e.getX(), e.getY()); sunmanager.setclick(e.getX(), e.getY()); buildingManager.setBuiding(e.getX(), e.getY()); } if(e.getModifiers()==InputEvent.BUTTON3_MASK){ cardlistener.judgeShouldDraw(75, 0); buildingManager.setBuiding(0, 0); } } } @Override public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void keyPressed(KeyEvent arg0) { // TODO Auto-generated method stub if(arg0.getKeyCode()==KeyEvent.VK_ALT){ shouldDrawBlood=true; } } @Override public void keyReleased(KeyEvent arg0) { // TODO Auto-generated method stub shouldDrawBlood=false; } @Override public void keyTyped(KeyEvent arg0) { // TODO Auto-generated method stub } public void contentPane_mouseClicked(MouseEvent e) { int mods = e.getModifiers(); //鼠标右键 if ((mods & InputEvent.BUTTON3_MASK) != 0) { System.out.println("鼠标右键"); } } @Override public void windowActivated(WindowEvent e) { // TODO Auto-generated method stub System.out.println("窗口活动"); PlayPanel.ispause=false; } @Override public void windowClosed(WindowEvent e) { // TODO Auto-generated method stub System.out.println("窗口关闭"); } @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowDeactivated(WindowEvent e) { // TODO Auto-generated method stub System.out.println("窗口不活动"); PlayPanel.ispause=true; } @Override public void windowDeiconified(WindowEvent e) { // TODO Auto-generated method stub System.out.println("窗口从最小化恢复"); } @Override public void windowIconified(WindowEvent e) { // TODO Auto-generated method stub System.out.println("窗口最小化"); } @Override public void windowOpened(WindowEvent e) { // TODO Auto-generated method stub System.out.println("窗口打开"); } }