坦克游戏教程一:使用java绘图功能绘制简单坦克
2016-03-30 18:31
661 查看
时间紧张,直接贴代码:
运行效果图:
/* * Function: TankGame 1.0 * Draw Tank */ package com.test1; import javax.swing.*; import java.awt.*; public class MyTankGame1 extends JFrame { MyPanel mp = null; public static void main(String[] args) { // TODO 自动生成的方法存根 MyTankGame1 myTankGame1 = new MyTankGame1(); } public MyTankGame1(){ mp = new MyPanel(); this.add(mp); this.setSize(400, 300); this.setVisible(true); } } //My Planel class MyPanel extends JPanel{ //Define a Tank Hero hero = null; public MyPanel(){ hero = new Hero(100, 100); } public void paint(Graphics g){ super.paint(g); // Draw my tank. And then encapsulate them into functions. g.fillRect(0, 0, 400, 300); this.drawTank(hero.getX(), hero.getY(), g, 0, 0); } public void drawTank(int x, int y, Graphics g, int direct, int type){ // judge type switch(type){ case 0: g.setColor(Color.cyan); break; case 1: g.setColor(Color.YELLOW); break; } // judge direction switch(direct){ case 0: g.setColor(Color.CYAN); g.fill3DRect(x, y, 5, 30, false); // Draw right rect g.fill3DRect(x + 15, y, 5, 30, false); // Draw middle rect g.fillRect(x + 5, y + 5, 10, 20); // Draw circle g.setColor(Color.green); g.fillOval(x + 5, y + 10, 10, 10); // Draw line g.drawLine(x + 7, y + 15, x + 10, y); break; } } } // Tank Class class Tank{ public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } int x = 0; int y = 0; public Tank(int x, int y){ this.x = x ; this.y = y ; } } class Hero extends Tank{ public Hero(int x, int y){ super(x, y); } }
运行效果图:
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树