Game Center - IDEA秒变小霸王游戏机

news/2024/12/30 1:20:03/

GameCenter is an IDEA Plugin for Developer to play Games

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zUXbrgy6-1682567016411)(null)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OEO3wBPX-1682567016018)(null)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WdhvkgDA-1682567016582)(null)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-75V9MTZx-1682567016032)(null)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bqIOpumF-1682567016749)(null)]

项目说明

为了缓解日复一日枯燥编程带来了的压力,由此Game Center插件诞生。Game Center顾名思义,是在IDEA中集成一个游戏菜单,方便开发同学工作之余使用。

使用截图

plugin display

游戏列表

  • FlappyBird - 从项目 FlappyBird 进行移植

  • FC游戏 - 游戏清单 按键说明如下:

按键player1player2
LeftANum-4
RightDNum-6
UpWNum-8
DownSNum-2
AJNum-7
BKNum-9
AAZNum-/
BBXNum-*
StartEnterNum-1
SelectCtrlNum-3

重点说明

如果当前IDEA支持 JCEF ,FC游戏会在IDEA中直接打开,否则只能借助系统浏览器运行。
默认情况下,Intellij IDEA 支持JCEF的,而AndroidStudio 不支持,如果想要打开IDEA的JCEF功能,请参考文档 如何打开JCEF?


插件扩展

考虑该插件的扩展性,降低后期的开发成本,方便更多的游戏集成。Game Center 支持将每一个游戏以 jar 文件的形式进行引入。

开发环境要求

  • java 11

开发步骤

  • 1、编写Swing游戏
  • 2、引用 GameCenterBase.jar依赖(可选)
GameCenterBase 依赖包,提供音频播放、数据存储功能:数据存储:GameCenterFacade<? extends GameCenterService> gameCenterFacade = GameCenterFacade.getInstance();
StorageService storageService = gameCenterFacade.getStorageService();
storageService.save(key,value) / storageService.read(key)音频播放:GameCenterFacade<?> gameCenterFacade = GameCenterFacade.getInstance();
AudioService audioService = gameCenterFacade.getAudioService();
InputStream audioStream = getResourceAsStream(assetPath);
audioService.play(audioStream);
  • 3、为Swing游戏添加指定入口函数,以便 Game Center 能运行该游戏

    public static void runGame() {...
    }
    
  • 4、将编写的Swing游戏导出成jar文件

  • 5、注入游戏到 Game Center IDEA插件

    • 将第4步生成的jar,放入项目根目录的libs文件夹
    • src/main/resources/game/swing/conf.properties 中配置游戏,格式如下:
    Game Name=runGame 函数所在的类的FQN,例如:FlyBird=com.kingyu.flappybird.app.App
    
  • 6、将Swing游戏的源代码,放入到 game-list 中(可选)

  • 7、提交PR,游戏运行无误,即可发布上市场


http://www.ppmy.cn/news/350664.html

相关文章

小霸王游戏机手柄(二)——代码读取

在我的上一个博客小霸王游戏机手柄&#xff08;一&#xff09;——硬件解读中我们已经知道了手柄所用芯片及其时序功能&#xff0c;还知道了DB9接口所用到的5个管脚中每个管脚的硬件连接及其作用&#xff0c;接下来就可以编写程序来读取手柄的数据了。   在这里我们使用STM32…

Gin微服务框架_golang web框架_完整示例Demo

Gin简介 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站 Gin是一个golang的微框架&#xff0c;封装比较优雅&#xff0c;API友好&#xff0c;源码注释比较明确&#xff0c;具有快速灵活&…

APP性能测试,你需要关注哪些指标?

一、Android客户端性能测试常见指标 1、内存 2、CPU 3、流量 4、电量 5、启动速度 6、滑动速度、界面切换速度 7、与服务器交互的网络速度 二、预期标准指定原则 1、分析竞争对手的产品&#xff0c;所有指标要强于竞品 2、产品经理给出的预期性能指标数据 3、符合业…

网易云ncm文件转mp3

本人卖了一个ipod nano6&#xff0c;帮买家导些歌&#xff0c;结果用网易云下下来一堆ncm文件&#xff0c;一脸懵逼&#xff0c;因为ipod只能放mp3文件。上网查了一下ncm文件&#xff0c;只能在会员有效期内放这个歌。 于是上网查了下&#xff0c;发现GitHub上有例程代码可以破…

SYRE蓝牙表带:让iPod nano支持蓝牙耳机

众所周知 iPod nano是个很神奇的产品&#xff0c;不单单可以听歌&#xff0c;还可以当作手表。但是&#xff0c;把iPod nano当作手表戴在手上了以后接上耳机线连接在手上不觉得很奇怪吗&#xff1f;有时候会因为动作太大会拉扯到耳机带来不便&#xff0c;或者是把耳机活生生从耳…

nano怎么设置一开始就显示时针

nano6 按下电源键时&#xff0c;是显示正式播放或目录啥的。 如果想把它当作手表的话&#xff0c;是一开始就显示时钟。 设置如下&#xff1a; 设置→通用→日期与时间→唤醒时显示时间 解决办法来自于下面的视频3分12秒 http://v.youku.com/v_show/id_XMzUwMDUxODUy.html…

鸟哥的linux私房菜学习笔记 ---第5章-2

1,bc 简易计算器2,[ctrl]d end of file3,~代表用户的主文件夹&#xff0c;是个变量 root的主文件夹在 /root4,sync 将内存中的数据写入到硬盘中&#xff0c;一般在关机之前必做步骤&#xff0c;好的习惯5,nano 简单好用的文本编辑器 nano 文件名直接打开新或已有文件 可以直接…

ubuntu18.04 安装melodic 版本ros

1 打开软件更新 选择清华源代码&#xff0c;点击关闭后&#xff0c;选择弹出的提示更新软件源。 2。设置软件源 sudo sh -c . /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sou…