当前位置: 首页 > news >正文

柳州十一冶建设集团网站做网站专用软件

柳州十一冶建设集团网站,做网站专用软件,app开发专业公司,用本地机器做网站服务器javafx中的tree我想长时间使用我的游戏引擎来编写《塔防》游戏#xff0c;但是由于另一个小组努力创建JavaFX《塔防》游戏#xff0c;所以我认为我宁愿创建另一款游戏。 从邮件列表中#xff0c;我了解到不再开发其他游戏。 因此#xff0c;我决定尝试一下。 塔防是一款非… javafx中的tree 我想长时间使用我的游戏引擎来编写《塔防》游戏但是由于另一个小组努力创建JavaFX《塔防》游戏所以我认为我宁愿创建另一款游戏。 从邮件列表中我了解到不再开发其他游戏。 因此我决定尝试一下。 塔防是一款非常适合基于图块的方法的游戏因此我开始寻找一些图块。 我在这里找到了一些东西 而艺术家Silviu Ploisteanu允许我在演示中使用它们。 塔防作为游戏与TileMap编辑器非常相似因此我将能够重用我之前创建的编辑器中的许多代码 首先要做的是将单个图形组合成图像进行平铺。 我对敌人炮塔基地大炮地形进行了分组还为背景创建了一个图块图块。 之后我使用了TileMap编辑器 http://www.mapeditor.org/ 从这些图像创建TileSet。 我可能不得不再次做这部分因为Gimp在此过程中更改了颜色但是现在我对图像的外观不太在意。 然后我从底部到顶部将5层添加到新地图“背景”“地形”“炮塔基地”“炮塔大炮”和“敌人”。 也将有一个“子弹和爆炸”层但是稍后我将手动添加它。 到目前为止还没有涉及任何编码通过基于TileMap的方法我们已经有了游戏的序列化格式。 因此当用户编辑地图时我们可以简单地将更改存储到TileMap中。 现在的地图如下所示 下一步是编码。 我只是用BorderPane创建了一个新的JavaFX Application。 在中心我将有一个运动场在右边我将有一个带有大炮的调色板。 这是创建GameCanvas的方法 tileMap TileMapReader.readMap(fileURL); canvas new GameCanvas(tileMap.getTilewidth() * tileMap.getWidth(), tileMap.getHeight() * tileMap.getTileheight(), tileMap.getTilewidth() * tileMap.getWidth(), tileMap.getHeight() * tileMap.getTileheight()); // add all the layers ArrayList layers tileMap.getLayers(); for (TileMapLayer tileMapLayer : layers) {canvas.addLayer(tileMapLayer); } 然后我获得带有大炮的TileSet并创建Palette。 我正在为调色板使用VBox因为我还希望使地形可编辑因此以后我可能会添加另一个TileSet TileSet turrets tileMap.getTileSet(turrets);TileSetView turretView new TileSetView(turrets); VBox palette new VBox(); palette.getChildren().addAll(turretView); TileSetView仅显示基础图像并允许您通过单击鼠标来选择一个Tile。 当我们从用户交互开始时我可能稍后再显示代码。 现在这是我们在启动游戏后看到的内容 难看的红色区域是默认背景。 不幸的是背景图像的Dimension并非图块大小的倍数因此稍后我将不得不定义一个不正确的地方。 现在我将忽略它它只是一个背景…… 现在我们希望用户能够放置炮塔。 目前玩家拥有不限量的金钱因此他可以根据需要放置任意数量的炮塔。 唯一的限制是只有在平台上并且没有炮塔的情况下他才可以放置它们。 因此我们为Mouse事件添加了一个EventHandler该事件处理程序是从Palette中选择的炮塔并将其添加到炮塔基础层。 为了简单起见我现在将炮塔基座和炮塔组合成一个图像 canvas.setOnMousePressed(new EventHandler() { Override public void handle(MouseEvent t) {double x t.getX(); double y t.getY();int idx (int) ((int) x / tileMap.getTilewidth() (((int) y / tileMap.getTileheight()) * tileMap.getWidth())); if (platformLayer.getGid(idx) ! 0 turretBaseLayer.getGid(idx)0) { turretBaseLayer.getData().setGid(idx, turretView.getSelectedGid()); } } }); 结果我们现在可以将转塔放置在没有平台但还没有转塔的地方 我认为第一部分已经表明该API非常适合创建simplegame而无需编写大量代码。 在下一部分中我们将添加生成点和目标并使用A *计算敌人的路径。 参考 Eppleton博客上的JCG合作伙伴 Toni Epple提供的JavaFX中的塔防功能 。 翻译自: https://www.javacodegeeks.com/2013/10/tower-defense-in-javafx.htmljavafx中的tree
http://www.zqtcl.cn/news/637156/

相关文章:

  • 建设部监理协会网站微信公众平台开发微网站
  • 莆田cms建站模板现在可以做网站么
  • windows 建网站湖北省最新消息今天
  • 手机商场网站制作在线看网站源码
  • 云南建设厅网站房地产开发资质做哪一类网站能赚钱
  • 佛山优化网站关键词创作者服务平台
  • python做网站多少钱超级商城系统
  • 网站开发pc端和手机端长沙专业个人做网站哪家好
  • 永州网站建设收费标准天长网站开发
  • 做网站分辨率多少钱装修公司10强排名
  • 营销网站建设818gx在南宁做家教兼职的网站
  • 做杂志模板下载网站网站开发产品经理招聘
  • 深圳网站创建公司小程序代理怎么样
  • 所以免费爱做网站营销网站优化推广
  • 莆田网站制作设计东莞营销专业网站建设
  • joomla建站教程北京做网站ezhixi
  • 自己可以做拼单网站吗建设企业网站有哪些
  • 张掖北京网站建设新闻事件
  • 济南网站建设(力选聚搜网络)wordpress文章中写代码
  • 网站后台忘记密码买购网十大品牌网
  • 360免费建站网页链接石家庄建设局网站怎么打不开
  • 东莞网站建做俄罗斯外贸的网站
  • 基于vue.js旅游网站开发网络营销的主要形式有建设网站
  • 医院网站建设要素国外电商网站
  • 甘肃两学一做网站可以制作h5的网站
  • 微信公众号手机网站开发wordpress 集赞系统
  • 怎么做会员积分网站免费ppt模板下载有哪些
  • 六安网站开发如何用微信小程序做网站
  • 华为云自助建站好不好seo技巧分享
  • 做淘宝客的网站wordpress+附件丢失