`
江南白衣
  • 浏览: 550811 次
  • 来自: 广州
社区版块
存档分类
最新评论

Java 游戏开发Notes

阅读更多

一、社区:

    2005年Sun专门新成立了 Java游戏开发社区 以示重视:http://community.java.net/games/ 
    上面有Projects,Wiki和Blog的连接,不过和整个java.net一样,架子大,内容少。

二、主要参考书籍:
    1.<Developing Games in Java> David Brackeen ,New Riders
    2.<Killer Game Programming in Java> Andrew Davsion, O'Relly
    3.<Advanced Java Game Programming >  David Wallace Croft ,Apress

   第一本Emule上面有,第二本有On Line Book

三、类库,引擎
    JOGL  (OpenGL 3D)
    JOAL  (OpenAL audio)
    JInput (Java Game Controller API)
    Lightweight Java Game Library (LWJGL)

    前三个项目在https://games-core.dev.java.net
    还有一些所谓引擎,没有仔细看。

四、Java 游戏的大概结构
   
1.游戏入口: some classA extends JFrame
    2.游戏主体: some classB extends JPanel 

      ClassB implements Runnable接口,游戏开始后开出一条线程进入循环。

      Thread animator = new Thread(this);
      Thread animator.start();

   循环主体如下

    public void run()
    {
       while (runing)
       {   
         gameUpdate();
         gameRender();
         printScreen();
         根据预设的FPS和剩余时间进行sleep();
       }
     }

      其中gameUpdate()负责游戏状态的改变,比如移动那些飞机坦克,放炮打枪什么的。
      gameRender()和printScreen()是为了避免花屏,采用Double Buffer机制,先在gameRender调用飞机大炮的draw函数把图像都画到一幅Image里,再printScreen()把Image画到屏幕上。



分享到:
评论

相关推荐

    魂斗罗游戏java源码-notes:博士日记

    魂斗罗游戏java源码13.03.2018 字节码和本机可执行文件中的数组性能 由于leanCoP/nanoCoP 在HOL Light 中的证明搜索性能相当令人失望,Cezary 表示OCaml 字节码中数组速度慢可能是罪魁祸首。 为此,我创建了一个小...

    JsJava2.0最新Javascript类库下载

    JsJava2.0适用于需要高性能和复杂逻辑的Web应用程序,如实时数据可视化、游戏开发、复杂的前端业务逻辑以及需要高效数据处理的项目。同时,它也是学习JavaScript面向对象编程的优秀实践资源。 **安装与使用** 要...

    401java-reading-notes

    10. **实战项目**:可能包括小型项目的开发,如简单的Web应用、桌面应用或游戏开发,用于巩固理论知识并提升实践能力。 通过深入研究这些笔记,学习者将能够建立起坚实的Java编程基础,提高编程技能,并为后续的...

    魂斗罗java程序源码-LearningNotes:知识点的总结和梳理

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation)开发,它的设计目标是具有平台无关性,这意味着编写一次,到处运行。Java程序可以在任何安装了Java虚拟机(JVM)的设备上...

    java开发抽奖系统源码-symphony::musical_notes:一个用Java实现的现代化社区(论坛/社交网络/博客)平台。Amoderncommunity(f

    java开发抽奖系统源码 | 介绍 是一个现代社区平台,因为它: 实施面向内容的讨论论坛 包括一个供用户分享、交友和玩游戏的社交网络 聚合独立博主、构建和共享优质资源的能力 和100%开源 欢迎来到 Sym 官方社区 - ...

    WOW插件编写快速入手指南

    在深入学习魔兽世界(WOW)插件编写之前,首先要明白,尽管它在游戏领域,但本质上仍然是一种软件开发。本文将引导程序员们以熟悉的视角理解并掌握WOW插件的编写,旨在简化学习过程。 1. **引言** 魔兽插件的编写...

    notes:个人笔记(博客,公共Api),源码(Java + Spring + MyBatis)学习,设计模式,数据结构,Go Java lua脚本等

    Lua是一种轻量级的脚本语言,常用于游戏开发和嵌入式系统。 总的来说,这个压缩包文件中的内容覆盖了从基础的编程知识到高级的系统设计和开发实践,对于希望在IT领域深化学习和专业发展的个人来说,是一份宝贵的...

    MultiplayerGame:游戏设计课程的协作项目-多人网络游戏

    《多人网络游戏设计:Java技术在游戏开发中的应用》 在当今的数字娱乐世界中,多人在线游戏已经成为一种主流的娱乐形式。"MultiplayerGame:游戏设计课程的协作项目-多人网络游戏"是一个旨在教授游戏开发技术的实践...

    notes

    例如,Java在企业级应用开发中广泛应用,Python适合数据分析和科学计算,C++则在系统编程和游戏开发中有优势,而JavaScript是前端开发的首选。 2. **操作系统**:可能包括Linux、Windows、macOS等的操作系统原理和...

    notes:使用编程工具和语言或游戏体验等时的一些注意事项

    在IT行业中,无论是编程、游戏开发还是日常的电脑使用,我们常常会遇到各种工具和语言。下面将就标题和描述中提及的知识点进行详细的阐述。 首先,编程工具是程序员日常工作中不可或缺的部分。它们能帮助我们编写、...

    Nokia 7210 MIDP SDK 1.0

    通过Nokia 7210 MIDP SDK 1.0,开发者可以充分利用Java ME的跨平台优势,为诺基亚7210手机开发出丰富的应用程序,满足用户的各种需求,如游戏、实用工具、信息娱乐等。随着SDK的使用,开发者可以深入了解手机开发的...

    learning-notes:学习笔记

    - Java ME针对嵌入式设备和移动设备,如手机游戏和智能家电。 这些知识点构成了Java编程的基础,掌握它们将为深入学习Java框架和高级特性的探索打下坚实基础。在实际开发中,不断实践和理解这些概念,才能真正成为...

    编写知名软件所用的语言.docx

    例如,C++因其性能和灵活性在操作系统、图形界面和游戏开发等领域广泛使用;Java则在企业级应用和Android开发中占据主导地位;而PHP则在Web开发中十分流行。选择合适的编程语言是构建高效、可靠软件的关键步骤。

    BREW SDK 2.0中文版

    虽然BREW SDK主要面向C++开发者,但值得注意的是,J2ME(Java Platform, Micro Edition)是另一种广泛使用的移动开发平台,主要基于Java语言。J2ME适用于更广泛的设备和操作系统,而BREW则在特定的高通芯片组上表现...

    C-Sharp-Notes

    "C-Sharp-Notes-master"可能包含的子文件可能涵盖这些主题,如C#语法基础、控制流、集合、文件操作、网络编程、数据库交互、图形用户界面(GUI)开发,以及更高级的主题如WPF、ASP.NET、Unity游戏开发等。...

    关于IMS网络架构的一些新理论

    - **软件开发语言**:IMS系统中的应用服务器和业务逻辑通常使用Java、Python、C++或.NET等语言编写,这些语言具有良好的可扩展性和跨平台性,便于开发和维护复杂的分布式应用。 文件"数据通信技术.pdf"可能涵盖数据...

    BagaturChess:Java国际象棋引擎-开源

    Java还拥有强大的类库支持,使得开发者可以更专注于算法优化和游戏逻辑,而不是底层的系统交互。此外,Java的面向对象特性也使得代码结构清晰,易于维护和扩展。 三、可执行文件与配置文件 压缩包中的Bagatur_64_1...

    foobacca-event-notes:我参加的活动的笔记

    它的主要用途包括网页客户端编程,服务器端编程(如Node.js),移动应用开发,游戏开发等。在网页上,JavaScript能够修改HTML内容,控制CSS样式,处理用户输入,以及通过AJAX实现异步数据交换,极大地提升了用户体验...

Global site tag (gtag.js) - Google Analytics