有关javajava小游戏设计说明书的两个问题

竟然这就是面向对象的游戏设计?!丶一个站在Java后端设计之路的男青年个人博客网站JAVA游戏设计核心类(初学者适用)
你想利用JAVA开发游戏?却不知道从何开始?
一个游戏通常以下元素组成:
- 框架:游戏窗口- 帆布:渲染表面- GameLoop:渲染和更新方法- 渲染方法:绘图- 更新的方法:你的游戏这里的逻辑- 鼠标和键盘输入:KeyListener,鼠标监听器和MouseMotionListener添加到画布
下面是一个模板,你只需要添加你的代码在渲染(Graphics2D的G)和更新(INT deltaTime)方法。
You want to do a game and don't know where to start?
A game is usually compose of the following elements :
- Frame : The window of the game
- Canvas : The rendering surface
- GameLoop : Call the rendering and update methods
- Rendering method : All your drawing here
- Update method : All your game logic here
- Mouse and Key input : Add KeyListener, MouseListener and MouseMotionListener to the canvas
Here is a template that I use for my games. To make your own game, you just have to add your code in the render(Graphics2D g) and update(int deltaTime) methods.
import java.awt.C
import java.awt.D
import java.awt.Graphics2D;
import java.awt.event.MouseA
import java.awt.image.BufferS
import javax.swing.JF
import javax.swing.JP
public class Game implements Runnable{
final int WIDTH = 1000;
final int HEIGHT = 700;
BufferStrategy bufferS
public Game(){
frame = new JFrame("Basic Game");
JPanel panel = (JPanel) frame.getContentPane();
panel.setPreferredSize(new Dimension(WIDTH, HEIGHT));
panel.setLayout(null);
canvas = new Canvas();
canvas.setBounds(0, 0, WIDTH, HEIGHT);
canvas.setIgnoreRepaint(true);
panel.add(canvas);
canvas.addMouseListener(new MouseControl());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setResizable(false);
frame.setVisible(true);
canvas.createBufferStrategy(2);
bufferStrategy = canvas.getBufferStrategy();
canvas.requestFocus();
private class MouseControl extends MouseAdapter{
long desiredFPS = 60;
long desiredDeltaLoop = (00)/desiredFPS;
boolean running =
public void run(){
long beginLoopT
long endLoopT
long currentUpdateTime = System.nanoTime();
long lastUpdateT
long deltaL
while(running){
beginLoopTime = System.nanoTime();
lastUpdateTime = currentUpdateT
currentUpdateTime = System.nanoTime();
update((int) ((currentUpdateTime - lastUpdateTime)/()));
endLoopTime = System.nanoTime();
deltaLoop = endLoopTime - beginLoopT
if(deltaLoop & desiredDeltaLoop){
//Do nothing. We are already late.
Thread.sleep((desiredDeltaLoop - deltaLoop)/());
}catch(InterruptedException e){
//Do nothing
private void render() {
Graphics2D g = (Graphics2D) bufferStrategy.getDrawGraphics();
g.clearRect(0, 0, WIDTH, HEIGHT);
render(g);
g.dispose();
bufferStrategy.show();
private double x = 0;
* Rewrite this method for your game
protected void update(int deltaTime){
x += deltaTime * 0.2;
while(x & 500){
* Rewrite this method for your game
protected void render(Graphics2D g){
g.fillRect((int)x, 0, 200, 200);
public static void main(String [] args){
Game ex = new Game();
new Thread(ex).start();
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!JAVA贪吃蛇游戏设计文档_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
JAVA贪吃蛇游戏设计文档
&&JAVA贪食蛇游戏设计文档,包括开发环境、开发思路、可行性分析等。包含游戏源码。
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩26页未读,
定制HR最喜欢的简历
你可能喜欢JAVA课程设计贪吃蛇游戏设计ASD_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
JAVA课程设计贪吃蛇游戏设计ASD
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩10页未读,
定制HR最喜欢的简历
你可能喜欢您的位置:
假如你是一名Java开发者,正在开发和维护包含2000个类并使用了很多框架的应用程序。你要如何理解这些代码呢?在典型的Java企业项目小组中,大部分能够帮你的高级工程师看起来都很忙,文档也很少。你需要尽快交付成果
作者:Choudary Kothapalli 译者 陈晨
发布于:04-25
我们可以毫不夸张的说,在当今的任意一款成功的3D游戏引擎中,物理建模都是非常核心的部分。比如当今最高水平的、大名鼎鼎的引擎Unreal Engine 3 (虚幻3),比如国产第一单机游戏《仙剑奇侠传》四代与五代采用的引擎R
作者:毛星云
发布于:04-25
HTML5是伟大的,因为它多才多艺的 - 它没有具体针对单一的平台.更重要的是,HTML5是无所不在的. 就我所知的,它在你的PC上,你的手机上,你的平板设备上,甚至在你的厨房电器上.
作者:大东哥
发布于:04-05
罗大佑有歌云:“无聊的日子总是会写点无聊的歌曲......”,我不是歌手,我是程序员,于是无聊的日子总是会写点无聊的程序。程序不能太大,不然没有时间完成;程序应该有趣,不然就达不到消磨时间的目的;程序应该有那
作者:无知者云
发布于:03-26
对于游戏而言,一个精灵(sprite,在游戏编程里指一个对象的原型,比如一个战士,一个怪物)不可能不做动作,就拿简单的走动来说,手脚一定会是要动的,那么如何真实得展现一个人物在屏幕上走动呢?在2D游戏编程里,
作者:王传炜
发布于:12-01
目前在网页游戏研发技术飞快进步的时代,占据网页游戏主流开发的两种不同引擎分别以FLASH与JAVA 各位天地。对于两者技术,谁更能满足玩家的需求?谁能让玩家有更为流畅的游戏体验?
作者:新浪网
发布于:08-10
双缓冲技术的应用很广泛,设计游戏的时候更是需要它,在midp1.0中,api中并没有game这个包,看到网上很多人在讨论设计游戏的时候会出现图片断裂,屏幕闪烁等问题。
作者: IT168.COM
发布于:07-20
既然现在你已对3D API比较熟悉并了解了3D图形是如何加入到移动Java应用程序中的。下面将继续告诉你怎样使用3D造型软件以使编码和设计更为简单。
作者: IT168.COM
发布于:07-20
本周一年一度的JavaOne大会将在旧金山拉开帷幕,预计约吸引15000名软件开发者、企业家和管理者参加,不过,由于Sun公司被甲骨文以74亿美元收购,这届JavaOne大会的意义显得有些特别。
作者:IT168 东方蜘蛛译
发布于:06-01
UCWEB资深开发工程师分享开发理念,阐述如何设计一款优秀的J2ME软件。
作者:IT168 饶荣庆
发布于:04-28
频道内搜索
更多热点:

我要回帖

更多关于 java课程设计小游戏 的文章

 

随机推荐