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

有没有免费的资源可以在线观看做网站优化有用吗

有没有免费的资源可以在线观看,做网站优化有用吗,进入公众号继续阅读怎么弄,信用网站一体化建设方案javafx中的tree因此#xff0c;我们已经在本教程的第6部分中#xff0c;与此同时#xff0c;游戏也取得了长足的进步。 在这一部分中#xff0c;我们最终将添加一个显示得分的图层#xff0c;已达到目标的敌人数量#xff0c;启动下一个Wave的按钮以及用于购买新炮塔的资… javafx中的tree 因此我们已经在本教程的第6部分中与此同时游戏也取得了长足的进步。 在这一部分中我们最终将添加一个显示得分的图层已达到目标的敌人数量启动下一个Wave的按钮以及用于购买新炮塔的资金。 说到钱我们还没有逻辑所以我们应该先解决这个问题。 不过我不想将价格存储在应用程序代码中因为这样会使我虚构的关卡设计师不懂编程的人难以微调变量。 我也想将所有东西都放在一个地方所以如果我们决定添加一个新的刀塔则不需要在许多不同的地方进行更改。 幸运的是我们可以将属性存储在TileSet中因此我们将这样做。 Tilemaps的TMX格式确实是一种将设计与编程内部结构区分开的好方法当涉及到游戏时业务逻辑听起来确实是错误的。 结果图形设计师可以创建资产关卡设计师可以创建关卡甚至用户也可以轻松地修改游戏并创建自己的关卡。 到目前为止我们已经使用Tiled编辑器创建了一个关卡并且还在其中一层中存储了一些有关敌人生成和攻击路径的元信息。 现在我们将一些属性添加到TileSet的各个Tile中。 这仅适用于内部TileSet因此在Tiled中您必须通过“地图- new Tileset”定义新的Tileset。 如果现在右键单击图块则它具有定义图块属性的操作。 我已经为塔基定义了一些 我添加了几个属性包括武器的射程射速造成的伤害名称和说明稍后显示以及类型我想用来定义用作子弹的瓦片。 也许还会有像激光这样的武器必须以不同的方式实施。 然后我可以决定对这种类型使用不同的逻辑方式。 我可以通过Tileset从Tile获取属性如下所示 Properties properties tileSet.getTileList().get(selectedIndex).getProperties(); 在CannonSprite内我可以这样使用它们 String rangeProperty properties.getProperty(range); if (rangeProperty ! null) { range Integer.parseInt(rangeProperty); } String damageProperty properties.getProperty(damage); if (damageProperty ! null) { damage Integer.parseInt(damageProperty); } String rateProperty properties.getProperty(firerate); if (rateProperty ! null) { rate Float.parseFloat(rateProperty); }//.... 我们将对EnemySprites做同样的事情因此我们可以确定销毁它们的要点它们的损坏抵抗力也许是恢复率等。这种方法的优点之一是它也非常易于扩展。 如果以后我决定添加一个新的炮塔该炮塔会产生磁场以迷惑敌人并使他们的飞行速度变慢我可以通过向该特定炮塔添加一个新的Property来做到这一点。 我不必更新旧的关卡设计或破坏用户的自定义关卡。 在这一方面它类似于我最喜欢的编程技术之一即“ 组成于继承 ”。 我们现在可以使用这些属性例如通过修改炮塔的FireBehavior评估间隔使炮塔以不同的速率发射 Override public long getEvaluationInterval() { return (long)(2000000000*rate); } 结果是 现在第二个炮塔以更高的射速发射同时每发子弹造成的伤害更少。 如果将炮塔的价格与不同的价格以及可放置炮塔的有限空间相结合我们已经具备了使塔防成为有趣游戏的一些战略要素。 现在我们的关卡设计师负责设计关卡设置价格和其他属性以使游戏变得有趣同时我们继续添加更多功能。 现在让我们从HUD图层开始简单地显示分数 private class HUD extends Layer {Override public void draw(GraphicsContext graphicsContext, double x, double y, double width, double height) { graphicsContext.setFill(Color.RED); graphicsContext.setFont(Font.font(OricNeo, 12)); graphicsContext.fillText(Score: score, 10, 16); }} 分数在我的游戏中定义为IntegerProperty这不是JavaFX属性并传递给EnemySprites private IntegerProperty score new IntegerProperty(0); 因此在EnemySprites“ die”方法中我们只是增加该值 Override public void die() { super.die(); getParent().addSprite(new Sprite(getParent(), explosionAnimation, explosion, getX() - 30, getY() - 80, 128, 128, Lookup.EMPTY)); score.set(score.integerValue()killPoints); } 现在将HUD添加为顶层您可以看到分数 我们接下来需要的是某种方式开始浪潮。 为此最好具有某种简单的控件例如按钮。 我们可以用不同的方式添加。 最简单的方法可能是将画布放入StackPane中在其顶部添加AnchorPane并向其添加JavaFX Node或Control。 但是我们只想使用FXGameEngine功能所以我们将Sprite用作按钮 final Sprite button new Sprite(canvas, button,  tileMap.getWidthInPixels()- 30, 20, 20, 20, Lookup.EMPTY); button.setOnMouseClicked(new MouseEventHandler() {Override public void handle(MouseClick click) { startWave(); button.die(); } }); canvas.addSprite(button); 我很确定EventHandling的API仍会有所更改但是它将保持与此类似的抽象。 此Sprite没有渲染器因此将使用仅绘制Rectangle的默认渲染器 今天就这样。 在下一部分中我们将向游戏添加资金因此它会变得更加有趣…… 翻译自: https://www.javacodegeeks.com/2014/03/tower-defense-in-javafx-6.htmljavafx中的tree
http://www.yutouwan.com/news/115656/

相关文章:

  • 如何判断网站是否被k易语言 网站开发
  • 网站建设招标无锡建设网站成都
  • 上海网站排名团队logo设计在线生成免费影子
  • 西安知名的集团门户网站建设公司杭州网站建设培训班
  • 建设行业网站价格创建网店需要wordpress
  • 云浮新兴哪有做网站的社交网站 源码
  • 域名和网站建设实训报告广告优化师招聘
  • 企业免费建站网站网站开发 保修期
  • dede 网站源码wordpress4.8下载
  • asp做网站教程网站系统源代码
  • 有个虚拟服务器建设网站佛山网站建设工作
  • 网站建设是 口号上海优化外包
  • 网站使用前流程网站调用优酷视频去广告
  • .net做网站的方式普陀网站建设
  • 公司网站建设 上海陕西网站备案代理
  • 站长工具seo综合查询怎么关闭湖南关于新冠最新通知
  • 网页游戏网站排名前10名logo网站有哪些
  • 做外账要登什么网站wordpress表情
  • 开一个网站建设公司凡客诚品是什么
  • 网络推广案例公司网站优化软件
  • php网站开发百度百科四位分享码2023
  • 做健身网站步骤上海专业网站建设咨询
  • 网站图片怎么做超链接江北网站建设
  • 新手做网站推荐WordPress怎么改文章颜色
  • 百度如何把网站做链接地址莱芜一中贴吧
  • 网站建设新手教程视频教程互动营销案例分析
  • 个人视频网站注册平台网站如何设置微信支付功能
  • 建设一个电商网站wordpress菜单和页面的关系
  • 营销型网站能解决什么问题网站报名照片怎么做
  • 免费源码交易网站源码企业网站ui