精华内容
下载资源
问答
  • 2022-04-06 20:50:15

    前言

      对于一个游戏来说,音效也是必不可少的一环,自然也不能少了。这章我们加入背景音乐以及一些音效。

    音频资源

      首先在resource目录下创建assets/music以及assets/sounds目录。resource/assets/music目录下用来存放我们的MP3资源文件,assets/sounds目录用来存放wav资源文件。我们将bgm.mp3放入music目录下,eat.wav放入sounds目录下。

    编码

    首先完成BGM

      BGM需要在游戏启动后就开始播发,所以我们需要在游戏引擎初始化完成之后就开始执行。所以我们来重写onPreInit方法,该方法在引擎加载完成之后执行。

        @Override
        protected void onPreInit() {
            // 背景音乐
            loopBGM("bgm.mp3");
        }
    

    紧接着完成音效部分

      在我们的Player对象碰撞到Gold对象时,我们需要一个奖励音效。

        /**
         * 初始化物理引擎(碰撞效果)
         */
        @Override
        protected void initPhysics() {
            getPhysicsWorld().addCollisionHandler(new CollisionHandler(EntityType.PLAYER,EntityType.GOLD){
                @Override
                protected void onCollisionBegin(Entity player, Entity gold) {
                    //将gold对象从游戏中移除
                    gold.removeFromWorld();
                    // 设置参数+1
                    inc("integral",+1);
                    // 在界面内随机位置生成一个 Gold对象
                    spawn("Gold", FXGLMath.random(0,getAppWidth()-50),FXGLMath.random(0,getAppHeight()-50));
    
    				play("eat.wav");
                }
            });
    
            onCollisionBegin(EntityType.PLAYER, EntityType.ENEMY,(player, enemy)->{
                inc("integral",-1);
            });
        }
    

    项目目录

    在这里插入图片描述

    完整代码

    import com.almasb.fxgl.app.GameApplication;
    import com.almasb.fxgl.app.GameSettings;
    import com.almasb.fxgl.core.math.FXGLMath;
    import com.almasb.fxgl.dsl.FXGL;
    import com.almasb.fxgl.entity.Entity;
    import com.almasb.fxgl.physics.CollisionHandler;
    import javafx.scene.input.KeyCode;
    import javafx.scene.paint.Color;
    import javafx.util.Duration;
    
    import java.util.Map;
    
    import static com.almasb.fxgl.dsl.FXGL.*;
    import static com.almasb.fxgl.dsl.FXGL.onCollisionBegin;
    
    /**
     * @author lhDream
     */
    public class HelloWorldApp extends GameApplication {
    
        /**
         * 玩家实体
         */
        private Entity player;
    
    
        @Override
        protected void onPreInit() {
            // 背景音乐
            loopBGM("bgm.mp3");
        }
    
        /**
         * 初始化设置
         * @param settings 配置对象
         */
        @Override
        protected void initSettings(GameSettings settings) {
            settings.setTitle("Hello world");
            settings.setWidth(600);
            settings.setHeight(600);
    
            settings.setMainMenuEnabled(true);
            settings.setGameMenuEnabled(true);
        }
    
        /**
         * 初始化游戏内容
         */
        @Override
        protected void initGame() {
            // 注册实体工厂
            FXGL.getGameWorld().addEntityFactory(new DemoEntityFactory());
    
            // 在界面正中间生成玩家实体
            player = FXGL.spawn("Player",FXGL.getAppWidth()/2,FXGL.getAppHeight()/2);
    
            // 在界面200,200位置生成一个Gold实体
            spawn("Gold", 200,200);
    
            // 每秒生成一个敌方实体
            run(()->{
                // 生成坐标
                var x = FXGLMath.random(0,getAppWidth()-50);
                var y = FXGLMath.random(-50,0);
    
                spawn("Enemy",x,y);
            },Duration.seconds(1));
        }
    
        /**
         * 初始化输入
         */
        @Override
        protected void initInput() {
            onKey(KeyCode.W,"上",()->{
                player.translateY(-5);
            });
            onKey(KeyCode.S,"下",()->{
                player.translateY(+5);
            });
            onKey(KeyCode.A,"左",()->{
                player.translateX(-5);
            });
            onKey(KeyCode.D,"右",()->{
                player.translateX(+5);
            });
        }
    
        /**
         * 初始化物理引擎(碰撞效果)
         */
        @Override
        protected void initPhysics() {
            getPhysicsWorld().addCollisionHandler(new CollisionHandler(EntityType.PLAYER,EntityType.GOLD){
                @Override
                protected void onCollisionBegin(Entity player, Entity gold) {
                    //将gold对象从游戏中移除
                    gold.removeFromWorld();
                    // 设置参数+1
                    inc("integral",+1);
                    // 在界面内随机位置生成一个 Gold对象
                    spawn("Gold", FXGLMath.random(0,getAppWidth()-50),FXGLMath.random(0,getAppHeight()-50));
    
                    play("eat.wav");
                }
            });
    
            onCollisionBegin(EntityType.PLAYER, EntityType.ENEMY,(player, enemy)->{
                inc("integral",-1);
            });
        }
    
        /**
         * 初始化参数
         * @param vars
         */
        @Override
        protected void initGameVars(Map<String, Object> vars) {
            vars.put("integral",0);
        }
    
        /**
         * 初始化UI
         */
        @Override
        protected void initUI() {
            // 初始化 Text 字体大小18 颜色 粉色
            var scoreText = getUIFactoryService().newText("", Color.PINK, 18);
            scoreText.textProperty().bind(getip("integral").asString("分数: %d"));
            addUINode(scoreText, 10, 30);
        }
    
    
        /**
         * main 程序的开始
         * @param args 参数
         */
        public static void main(String[] args) {
            launch(args);
        }
    }
    
    

    总结

      至此,入门应该没有什么问题了。觉得有用的话点个赞或者关注一下呗。

    完整项目

    https://github.com/lhDream/lhDreamGameDemo/tree/master/HelloWorld

    更多相关内容
  • JAVA游戏编程

    2017-12-02 22:31:41
    JAVA游戏编程 JAVA入门 JAVA游戏编程 JAVA入门 JAVA游戏编程 JAVA入门 JAVA游戏编程 JAVA入门 JAVA游戏编程 JAVA入门 JAVA游戏编程 JAVA入门
  • java游戏之飞机大战

    千次下载 热门讨论 2014-12-07 21:28:36
    更多游戏见博客http://blog.csdn.net/simon_world
  • Java游戏高级编程 pdf

    2014-12-29 23:01:16
    Java游戏高级编程》通过丰富的示例游戏,详细讲述了Java游戏高级编程方面的知识。包括部署框架、Swing动画、动画库、高级图形技术、持久性机制、游戏体系结构以及一些通信和同步技术等。 本书针对那些具有一定编程...
  • 50个java游戏源代码

    千次下载 热门讨论 2013-06-06 10:50:19
    50个java游戏源代码。50个java游戏源代码,包括斗地主,黄金矿工,等50个经典小游戏的源码,非常值得学习
  • Java游戏项目分享

    千次阅读 2022-03-28 15:02:57
    很多小伙伴学习Java,在学习完基础之后都会去找一些项目练手,用来提升自己的技术,在这里,学姐找了一些Java初级练手项目,供小伙伴们用来练手。下面简单介绍一下本次学姐带来的六大Java游戏项目。

    很多小伙伴学习Java,在学习完基础之后都会去找一些项目练手,用来提升自己的技术,在这里,学姐找了一些Java初级练手项目,供小伙伴们用来练手。下面简单介绍一下本次学姐带来的六大Java游戏项目。

    Java六大初级练手项目>>> 

    六大Java游戏项目

    1、扫雷

    扫雷是一款大众类的益智小游戏。根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。本课程讲解一个扫雷游戏的详细开发过程。只要90分钟就可以完成一个你自己亲手开发出来的Java扫雷游戏!

    课程目标:

    1.通过本课程的学习,巩固java的相关基础知识,例如循环判断,数组使用,递归调用等。

    2.完成难度选择,雷随机生成,数字生成,左右键翻开等功能实现

    3.将java知识体系与实际应用相结合,完成java的入门,提升java的学习兴趣

    具体内容包含:

    游戏四种状态:难度选择、游戏状态、游戏胜利、游戏失败

    游戏难度:简单、普通、困难。不同难度对应不同的雷区大小和雷数量

    游戏核心:二维数组的相关操作

    其他:窗口绘制、界面规划、操作计数、重新开始。

    2、推箱子

    推箱子,游戏中玩家只需通过点击方向键上下左右操纵一个小人在不碰撞墙体的情况下吧箱子全部推到终点,那么如何用java编写一款属于自己的推箱子游戏呢?这个其实真的没有那么难。本课程讲解了推箱子游戏的详细编写流程,即使你是刚入门java的新手,只要你简单掌握了该游戏所需要的javase基础知识,便可以跟随教程视频完成属于你自己的推箱子游戏!同时还可以加深和巩固你对面向对象知识的理解。

    3、超级玛丽

    在你的童年记忆里,是否有一个会蹦跳,会吃蘑菇的小人?超级玛丽是一款经典并且流行的小游戏,通过键盘来控制马里奥的移动,跳跃可以顶掉砖块,下落时还可以踩死蘑菇敌人,这些都可以获得分数。关卡的最后,马里奥还可以把位于城堡前边的旗子拉下来,并且走入城堡内。那么,如何利用java编写一款属于自己的超级玛丽游戏呢?其实,并没有你想象中的那么难。本课程讲解了一个超级玛丽游戏的详细编写思路和流程,也许你刚学java不久,但是你只要掌握了该游戏所需要用到的javase的基础知识,就可以跟随该教程视频完成属于你自己的超级玛丽游戏!你可以按照自己的想法去设计各种各样的关卡,你也可以设计出各种各样的陷阱。同时,还可以加深和巩固你对java基础知识的理解程度。

    4、飞机大战

    飞机大战1.0加强版,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE基础知识,便可以跟随教程视频完成属于你自己的飞机大战游戏!同时还可以加深和巩固你对面向对象知识的理解。开发环境:jdk1.8开发工具:IDEAJava技术:java变量、java数据类型、判断语句、循环结构、数组、Java集合、简单窗口创建、图形图片绘制、双缓存技术、事件-鼠标和键盘事件、物体的碰撞检测。

    5、黄金矿工

    讲解一个黄金矿工游戏的详细开发过程。面向刚入门或者有一定java基础的人群。帮助学员理解面向对象编程,并将基础知识进行实际应用,最终目标为开发出一个功能强大的黄金矿工小游戏。只要你想学,那么两小时后你就会得到一个你自己亲手开发出来的java黄金矿工游戏!

    6、俄罗斯方块

    俄罗斯方块游戏的详细编写思路和流程,即使你刚学java没多久,只要你简单掌握了该游戏所需要的javase的基础知识,便可以跟随该教程视频完成属于你自己的俄罗斯方块游戏!同时,还可以加深和巩固你对java基础知识的理解。开发环境:jdk1.8开发工具:IDEAJavase基础:变量、数据类型、数组、循环结构、判断语句、事件-键盘事件、简单窗口创建、二进制/十六进制的转换、位运算、边界布局管理器、JTextArea类的基本方法。

    以上为本次Java课程所有介绍,希望能帮助到你。

     

    展开全文
  • Java游戏框架编写

    千次阅读 2022-02-10 15:16:25
    Java游戏框架整合SpringBoot与OpenGL

    自己抽空编写的一个2D游戏框架(也可以说是工具类集吧),在此记录一下,开发完了顺便写了一个案例判断框架的可用性
    项目地址:https://gitee.com/shaokang123/spring-game-starter

    框架特点

    支持直接使用Tiled设计地图,以name为beanName进行加载,自定义属性最终以解析为Map注入

    在这里插入图片描述

    支持动画遮罩,中心点可视化编辑,图片合并,最终使用动画名加载动画

    在这里插入图片描述

    使用该框架开发的超级玛丽项目

    素材处理连带开发1天半,开发中确实遇到了不少问题,需要对框架代码进行修改,否则应该可以更快
    在这里插入图片描述
    全部代码,基本全是各个组件没有框架代码
    效果演示

    超级马里奥演示


    B站视频链接: https://www.bilibili.com/video/BV1kZ4y1o7St
    项目路径:https://gitee.com/shaokang123/spring-game-super-mario

    使用该项目开发的世界和平版魂斗罗

    素材处理连带开发1天半,因为原版在水中只能躲避,移除了水,加快开发速度
    在这里插入图片描述
    全部代码

    世界和平版魂斗罗


    B站视频链接: https://www.bilibili.com/video/BV14a411C759
    项目路径:https://gitee.com/shaokang123/peace-contra

    使用该项目开发的功夫猫党

    Java开发功夫猫党


    B站视频链接: https://www.bilibili.com/video/BV1Mq4y1i7HX
    全部代码:https://gitee.com/shaokang123/samurai-pizza-cats

    使用该项目开发的东方夜神月

    Java实现咲夜暴打魔理沙


    B站视频链接: https://www.bilibili.com/video/BV11Y41137N5
    全部代码:https://gitee.com/shaokang123/touhou-luna-nights

    下面是项目开发过程的笔记以及特性

    特性

    结合SpringBoot本身就是一个Start直接引入使用

    配套的SpriteEditor用于编辑精灵动画,精灵打图集直接通过JSON加载动画,直接通过动画名称加载(SpriteEditor.md)

    支持Tiled绘制地图 加载对应的地图文件,支持对应的动画Tile,对象根据全类名创建,自定义属性使用Spring属性编辑器注入对象

    支持键盘鼠标的查询式判断输入

    支持动画添加事件,监听动画结束事件

    支持音频,图片,xml,json等各种资源的池化加载

    支持相机显示部分房间,相机跟随,矫正鼠标位置,会自动取消视野外的绘制节约资源,对象进入退出视野生命周期函数支持

    支持常见的矩形,点,线碰撞,根据指定碰撞类型(接口,类等),碰撞的层级,是否排除指定目标,是否全部符合碰撞对象

    绘制深度,常见形变的支持多绘制,多行动,DrawUI支持,渲染队列回调

    遮罩跟随精灵,灵活变化

    栈式房间管理
    切图处理的简单支持(LayerExporter)

    SpriteEditor

    添加

    选择一个动画,会向该动态添加帧可以指定帧的位置
    其他,会添加一个新动画
    若添加多张图片,图片中名字为 {name}_strip{num}.png 会把他们各自形成动画,剩余的若有再形成一个动画

    删除

    指定根节点删除所有动画
    其他删除指定节点

    编辑

    选中某一帧切换切换图片
    选中动画,修改动画名称与动画帧率

    预览

    预览动画播放,可以调整基点与遮罩

    导出

    拼接所有图片并生成对应的UV信息

    导入

    选择生成的JSON文件重新导入

    显示操作

    可以缩放,拖动,调整基点,遮罩

    状态栏

    显示当前鼠标相对基点位置与第几帧

    com.sk.extension.LayerExporter

    用于导出Tiled指定图层的图片

    注意

    spring:
      main:
        allow-circular-references: true
    

    否则会出现循环依赖

    简单的绘图类不允许注入,采用直接传递参数的方式,否则这些轻量对象也无法直接new,例如Tile精灵等直接new

    tileset.tsx中的id从0开始会冲突在com.sk.handler.TileSetHandler中解决了

    TODO

    剧情动画支持

    展开全文
  • Java游戏源码大礼包(清明有爱强化版,15个游戏)

    千次下载 热门讨论 2012-03-31 20:40:30
    非常有价值的Java游戏源码(本鹏保证在此前无人发过,而且原本都是非商用的),包含了战棋,弹幕,即时战略,射击等多种游戏类型。比如以东方系列人物为主角的战棋类游戏,原本为Applet开发的东方战棋Demo示例(关卡...
  • java游戏开发入门(七) - 计时器

    千次阅读 2022-03-27 23:59:02
    java游戏开发入门(七) - 计时器前言函数说明在一秒钟之后执行一次每隔0.5秒执行一次实例目标效果敌方实体定时创建敌方实体碰撞效果效果展示完整代码HelloWorldApp.javaDemoEntityFactory.javaEntityType.java完整...

    前言

      上一章我们讲了变量与UI,这章我们讲FXGL的计时器。

    函数说明

    在一秒钟之后执行一次

    runOnce(()->{
        // ...
    }, Duration.seconds(1));
    

    每隔0.5秒执行一次

    run(()->{
        // ...
    },Duration.seconds(0.5));
    

    实例

    目标效果

    每隔一秒在游戏的上方随机位置生成一个敌人,并向下移动; 当Player与敌方实体碰撞时扣除1分。

    敌方实体

      首先我们需要定义一个敌方实体类型,并初始化敌方实体的生成工厂。

    /**
     * 实体类型
     * @author lhDream
     */
    public enum EntityType {
        PLAYER,GOLD,ENEMY
    }
    

    敌方实体

    /**
      * 创建Enemy实体
      * @return Enemy实体
      */
     @Spawns("Enemy")
     public Entity newEnemy(SpawnData data){
         // 移动速度, 200 - 400 内随机
         var speed = FXGLMath.random(200,400);
         return FXGL.entityBuilder(data)
                 //声明设备类型
                 .type(EntityType.ENEMY)
                 // 根据UI大小自动生成碰撞体积
                 .collidable()
                 .with(new ProjectileComponent(new Point2D(0, 1), speed))
                 // 宽 50px 高 50px 颜色蓝色
                 .viewWithBBox(new Rectangle(50,50, Color.BLUE))
                 // 超出边界移除实体
                 .with(new OffscreenCleanComponent())
                 .build();
     }
    

    定时创建敌方实体

    // 每秒生成一个敌方实体
    run(()->{
        // 生成坐标
        var x = FXGLMath.random(0,getAppWidth()-50);
        var y = FXGLMath.random(-50,0);
    
        spawn("Enemy",x,y);
    },Duration.seconds(1));
    

    碰撞效果

    onCollisionBegin(EntityType.PLAYER, EntityType.ENEMY,(player, enemy)->{
        inc("integral",-1);
    });
    

    效果展示

    在这里插入图片描述

    完整代码

    HelloWorldApp.java

    import com.almasb.fxgl.app.GameApplication;
    import com.almasb.fxgl.app.GameSettings;
    import com.almasb.fxgl.core.math.FXGLMath;
    import com.almasb.fxgl.dsl.FXGL;
    import com.almasb.fxgl.entity.Entity;
    import com.almasb.fxgl.physics.CollisionHandler;
    import javafx.scene.input.KeyCode;
    import javafx.scene.paint.Color;
    import javafx.util.Duration;
    
    import java.util.Map;
    
    import static com.almasb.fxgl.dsl.FXGL.*;
    import static com.almasb.fxgl.dsl.FXGL.onCollisionBegin;
    
    /**
     * @author lhDream
     */
    public class HelloWorldApp extends GameApplication {
    
        /**
         * 玩家实体
         */
        private Entity player;
    
        /**
         * 初始化设置
         * @param settings 配置对象
         */
        @Override
        protected void initSettings(GameSettings settings) {
            settings.setTitle("Hello world");
            settings.setWidth(600);
            settings.setHeight(600);
    
            settings.setMainMenuEnabled(true);
            settings.setGameMenuEnabled(true);
        }
    
        /**
         * 初始化游戏内容
         */
        @Override
        protected void initGame() {
            // 注册实体工厂
            FXGL.getGameWorld().addEntityFactory(new DemoEntityFactory());
    
            // 在界面正中间生成玩家实体
            player = FXGL.spawn("Player",FXGL.getAppWidth()/2,FXGL.getAppHeight()/2);
    
            // 在界面200,200位置生成一个Gold实体
            spawn("Gold", 200,200);
    
            // 每秒生成一个敌方实体
            run(()->{
                // 生成坐标
                var x = FXGLMath.random(0,getAppWidth()-50);
                var y = FXGLMath.random(-50,0);
    
                spawn("Enemy",x,y);
            },Duration.seconds(1));
        }
    
        /**
         * 初始化输入
         */
        @Override
        protected void initInput() {
            onKey(KeyCode.W,"上",()->{
                player.translateY(-5);
            });
            onKey(KeyCode.S,"下",()->{
                player.translateY(+5);
            });
            onKey(KeyCode.A,"左",()->{
                player.translateX(-5);
            });
            onKey(KeyCode.D,"右",()->{
                player.translateX(+5);
            });
        }
    
        /**
         * 初始化物理引擎(碰撞效果)
         */
        @Override
        protected void initPhysics() {
            getPhysicsWorld().addCollisionHandler(new CollisionHandler(EntityType.PLAYER,EntityType.GOLD){
                @Override
                protected void onCollisionBegin(Entity player, Entity gold) {
                    //将gold对象从游戏中移除
                    gold.removeFromWorld();
                    // 设置参数+1
                    inc("integral",+1);
                    // 在界面内随机位置生成一个 Gold对象
                    spawn("Gold", FXGLMath.random(0,getAppWidth()-50),FXGLMath.random(0,getAppHeight()-50));
                }
            });
    
            onCollisionBegin(EntityType.PLAYER, EntityType.ENEMY,(player, enemy)->{
                inc("integral",-1);
            });
        }
    
        /**
         * 初始化参数
         * @param vars
         */
        @Override
        protected void initGameVars(Map<String, Object> vars) {
            vars.put("integral",0);
        }
    
        /**
         * 初始化UI
         */
        @Override
        protected void initUI() {
            // 初始化 Text 字体大小18 颜色 粉色
            var scoreText = getUIFactoryService().newText("", Color.PINK, 18);
            scoreText.textProperty().bind(getip("integral").asString("分数: %d"));
            addUINode(scoreText, 10, 30);
        }
    
    
        /**
         * main 程序的开始
         * @param args 参数
         */
        public static void main(String[] args) {
            launch(args);
        }
    }
    

    DemoEntityFactory.java

    import com.almasb.fxgl.core.math.FXGLMath;
    import com.almasb.fxgl.dsl.FXGL;
    import com.almasb.fxgl.dsl.components.OffscreenCleanComponent;
    import com.almasb.fxgl.dsl.components.ProjectileComponent;
    import com.almasb.fxgl.entity.Entity;
    import com.almasb.fxgl.entity.EntityFactory;
    import com.almasb.fxgl.entity.SpawnData;
    import com.almasb.fxgl.entity.Spawns;
    import javafx.geometry.Point2D;
    import javafx.scene.paint.Color;
    import javafx.scene.shape.Rectangle;
    
    /**
     * 实体工厂
     * @author lhDream
     */
    public class DemoEntityFactory implements EntityFactory {
    
        /**
         * 创建玩家实体
         * @return 玩家实体
         */
        @Spawns("Player")
        public Entity newPlayer(SpawnData data){
            return FXGL.entityBuilder(data)
                    // 声明设备类型
                    .type(EntityType.PLAYER)
                    // 将实体标记为可碰撞,并根据UI大小自动生成碰撞体积
                    .collidable()
                    // 宽 10px 高 10px 颜色黑色
                    .viewWithBBox(new Rectangle(50,50, Color.BLACK))
                    .build();
        }
    
        /**
         * 创建Gold实体
         * @return Gold实体
         */
        @Spawns("Gold")
        public Entity newGold(SpawnData data){
            return FXGL.entityBuilder(data)
                    //声明设备类型
                    .type(EntityType.GOLD)
                    // 根据UI大小自动生成碰撞体积
                    .collidable()
                    // 宽 50px 高 50px 颜色红色
                    .viewWithBBox(new Rectangle(50,50, Color.RED))
                    .build();
        }
        /**
         * 创建Enemy实体
         * @return Enemy实体
         */
        @Spawns("Enemy")
        public Entity newEnemy(SpawnData data){
            // 移动速度, 200 - 400 内随机
            var speed = FXGLMath.random(200,400);
            return FXGL.entityBuilder(data)
                    //声明设备类型
                    .type(EntityType.ENEMY)
                    // 根据UI大小自动生成碰撞体积
                    .collidable()
                    .with(new ProjectileComponent(new Point2D(0, 1), speed))
                    // 宽 50px 高 50px 颜色蓝色
                    .viewWithBBox(new Rectangle(50,50, Color.BLUE))
                    // 超出边界移除实体
                    .with(new OffscreenCleanComponent())
                    .build();
        }
    
    }
    

    EntityType.java

    /**
     * 实体类型
     * @author lhDream
     */
    public enum EntityType {
        PLAYER,GOLD,ENEMY
    }
    

    完整项目

    https://github.com/lhDream/lhDreamGameDemo/tree/master/HelloWorld

    展开全文
  • Java游戏项目之贪吃蛇

    千次阅读 2022-03-04 10:12:20
    视频课程讲解了一个贪吃蛇游戏的完整编写流程,哪怕你是刚入门Java的新手,只要你简单掌握了所需要的JavaSE基础知识,便可以跟随教程视频完成属于你自己的贪吃蛇游戏!同时还可以加深和巩固你jJava基础知识的理解。
  • java游戏开发入门(一) - HelloWorld

    千次阅读 2022-03-21 17:53:44
    java游戏开发入门(一)前言开发环境启程 Hello WorldMaven启动类 HelloWorldApp创建一个600 x 600,标题为"Hello world"的窗体main运行效果完整项目 前言   开发一款游戏,我相信很多人在学习开发之前都有这么一...
  • java游戏服务器必备

    千次阅读 2018-12-28 16:41:44
    对于一个新手,想接触游戏服务器,一定会有个疑问——使用Java开发服务器需要学习什么? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Java语言,由于学习成本低,开发速度快,稳定
  • 近几年手游蓬勃发展,手机游戏平台已然成为目前的主流游戏平台之一,回想起塞班时期,能让人们记住的游戏曾经不多了。但是说起手机游戏平台,我们就不得不提一下著名游戏厂商Gameloft了。在塞班横行手机界的时分,...
  • java游戏开发入门(八) -图像

    千次阅读 2022-03-31 23:24:52
    java游戏开发入门(八) - 图像前言图片资源首先我们来改造一下我们的Player实体方法说明效果展示完整项目 前言   前面那么多基本上一个游戏需要的逻辑就差不多了,但是看上去还非常丑陋,这章我们来优化界面显示。...
  • Java游戏项目之推箱子

    千次阅读 2022-03-01 09:22:28
    视频课程讲解了推箱子游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE基础知识,便可以跟随教程视频完成属于你自己的推箱子游戏!同时还可以加深和巩固你对面向对象知识的理解...
  • java游戏之潜艇大战

    热门讨论 2014-12-07 21:11:10
    java版的潜艇大战,更多游戏见博客http://blog.csdn.net/simon_world
  • 来了,来了 !!! 你们想要的游戏项目,给你们整理好了!!! (坦克大战、俄罗斯方块、飞机大战、贪吃蛇游戏、黄金矿工、桌球游戏、尚医疗) ...java基础(必学) ...java开发坦克大战游戏>>>
  • 手机java游戏下载网站

    千次阅读 2021-02-13 01:02:27
    直接把链接放这里UC游戏中心http://wap.9game.cn数熊(被和谐了)http://www.goonmax.comhttp://d.958shop.com/format/game/0-88/http://www.47473.com/symbianjava/玩家个人站...
  • 今天给大家分享11款经典小游戏Java开发教程,快来戳下方视频学习吧~
  • 2000年彩屏手机开始流行,诺基亚作为当年世界第一的手机厂商,...不过对于现在的年轻人来说,诺基亚时代的游戏可能听都没听过,但对于我们80、90年代的玩家而言,诺基亚时代的JAVA游戏真的是我们当时的乐趣所在,虽然它
  • java游戏模拟器安卓版下载

    千次阅读 2021-03-05 17:34:27
    不占用太多内存,有需要的用户赶紧下载使用吧~应用介绍:Java手机游戏模拟器主要针对诺基亚S60系列(屏幕176*220)手机以及其他大屏手机(小屏游戏也可运行,但不能全屏显示),是一款非常简单而且实用的java游戏模拟器...
  • 我还记得当年小的时候,拿着爸爸的手机在上面搜索和下载各种游戏,以至于后来他的话费经常隔三差五地就要充5、60块钱,毕竟当年流量真的不够用,而且有些游戏还带有短信付费功能。不过对于现在的年轻人来说,诺基亚...
  • 45个java游戏源代码.rar

    2018-01-30 01:46:49
    java手机游戏在智能机出现之前可谓红极一时,只要是支持java程序的手机都可以安装,众多手机小游戏都由java开发。由于java手机游戏的通用性太强,在智能机普及之前,是否支持java成为顾客选择手机的一个重要因素。...
  • MINA/JAVA游戏服务端源码

    千次下载 热门讨论 2014-02-11 10:54:07
    说明:该服务器框架试用于需要频繁修改数据库内容的游戏,没有使用数据库缓存,jdbc直接修改数据库内容。 申明: 我是个新手,有出错的地方莫怪哈,把源码发布出来更多的是想大伙帮忙改进下框架,改进的代码和新...
  • 本文档搜集了非常多的java语言编写的游戏,有助于java爱好者深入研究学习java游戏编程!
  • Gameloft Classics 20 Years是Gameloft为了庆祝其20周年,推出的一款包含了30款经典Java游戏合集的软件,当年手机还是功能机时代的时候,有不少经典游戏陪伴我们度过了那个娱乐匮乏的时代,如果你喜欢怀旧,想要重温...
  • java游戏源码,亲测可用。内含 推箱子,坦克大战,俄罗斯方块,贪吃蛇,扫雷。好玩不贵,值得一探。
  • java游戏之五子棋

    千次下载 热门讨论 2014-12-07 20:41:07
    java游戏五子棋,更多开源游戏见博客http://blog.csdn.net/simon_world
  • 第一款J2ME Loader是一个Android版的J2ME(Java 2 Micro Edition)模拟器。...第二款指小游是一款安卓版JAVA模拟器,可以在Android设备上运行大部分JAR应用程序和游戏。使用此工具,可以重温塞班时代经典的JA...
  • 我是一名新编码员 . 我无法为我正在处理的这段示例代码添加一个启动和停止按钮 . 我敢肯定我必须在游戏课上混淆 Thread.sleep(10);...游戏类import java.awt.Graphics;import java.awt.Graphics2D;import java.aw...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 336,389
精华内容 134,555
关键字:

java游戏

java 订阅