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

如何做网站搭建api接口网站建设费能算作无形资产吗

如何做网站搭建api接口,网站建设费能算作无形资产吗,淞南网站建设,合肥网站建设模块javafx中的tree在最后一部分#xff0c;我们创建了一个简单的编辑器#xff0c;让我们放置炮塔。 现在#xff0c;我们将在敌人起源处添加一个生成点#xff0c;并为其定义攻击目标。 首先#xff0c;我将通过对象层向地图添加更多信息。 这是标准的TMX#xff0c;因此我… javafx中的tree 在最后一部分我们创建了一个简单的编辑器让我们放置炮塔。 现在我们将在敌人起源处添加一个生成点并为其定义攻击目标。 首先我将通过对象层向地图添加更多信息。 这是标准的TMX因此我们可以在TileMap编辑器中进行操作 为了计算敌人的攻击路径我们将使用A *算法它是tilengine模块的一部分 因此让我们获取派生点和目标并将其存储为我们的算法 ArrayList objectGroups tileMap.getObjectGroups(); for (ObjectGroup objectGroup : objectGroups) { for (final TObject tObject : objectGroup.getObjectLIst()) { if (tObject.getName().equals(spawnpoint)) {spawnpointX tObject.getX() / turrets.getTilewidth(); spawnpointY tObject.getY() / turrets.getTileheight();}if (tObject.getName().equals(target)) {targetX tObject.getX() / turrets.getTilewidth(); targetY tObject.getY() / turrets.getTileheight();} } } 使用这些值我们可以初始化A *算法该算法计算敌人的最短路径 AStar.AStarTile start new AStar.AStarTile((int) spawnpointX, (int) spawnpointY); AStar.AStarTile end new AStar.AStarTile((int) targetX, (int) targetY); attackPath AStar.getPath(tileMap, platformLayer, start, end); 为了查看结果我们将向GameCanvas添加一个调试层 private class AStarLayer extends Layer { public AStarLayer() { } Color pathColor Color.rgb(255, 100, 100, .2);Override public void draw(GraphicsContext graphicsContext, double x, double y, double width, double height) { AStar.PathNode start attackPath; if (start ! null) { graphicsContext.setFill(pathColor); graphicsContext.fillRect(start.getX() * tileMap.getTilewidth(), start.getY() * tileMap.getTileheight(), tileMap.getTilewidth(), tileMap.getTileheight()); while (start.getParent() ! null) { start start.getParent(); graphicsContext.fillRect(start.getX() * tileMap.getTilewidth(), start.getY() * tileMap.getTileheight(), tileMap.getTilewidth(), tileMap.getTileheight()); } } } } 结果看起来像这样 您会看到红色的最短路径。 由于该算法没有“看到”背景图像的结构因此它会相应地计算路径而敌人只会忽略船的结构背景应该是宇宙飞船的一部分。 要解决此问题我们稍后将添加一些不可见的图块。 对于大型游戏最好使用不可见的碰撞层这样可以为您提供更好的性能并提供更多方式来实现锁定段落。 对我们而言transparent-tile-approach更好因为我们不需要额外的图层而且如果用户可以编辑布局则更容易。 现在我们需要将敌人击倒。 为了给Sprite制作动画我将动画阶段合并为一个图像 现在我们可以使用Tiled编辑器从中创建TileSet 我还使用Tiled向派生点添加了两个附加属性 第一个定义了每种类型我想要产生多少个敌人第二个定义了它们产生之间的停顿时间。 我怀疑他们会经受住时间的考验但现在让我们与他们合作。 在用于读取对象组的代码中我们可以访问属性 if (tObject.getName().equals(spawnpoint)) {Properties properties tObject.getProperties(); evaluationInterval Long.parseLong(properties.getProperty(delay)); spawnpointX tObject.getX() / turrets.getTilewidth(); spawnpointY tObject.getY() / turrets.getTileheight();} 现在我们只有一种怪兽所以我们可以忽略它而只使用延迟。 首先我们将从TileSet中创建一个SpriteAnimation final TileSet enemy1 tileMap.getTileSet(enemy1); final TileSetAnimation tileSetAnimation new TileSetAnimation(enemy1, new int[]{0, 1, 2, 3, 4, 5}, 10f); 为了产生怪物我们将定义一个行为。 那只是一个定时方法调用。 为了支持Lambda表达式可能会在此处对API进行一些更改 Behavior monsterSpawnBehavior new Behavior() { int enemyCount 0;Override public boolean perform(GameCanvas canvas, long nanos) { new Sprite(canvas, tileSetAnimation, enemy (enemyCount), ((int)spawnpointTileX) * tileMap.getTilewidth(), ((int)spawnpointTileY) * tileMap.getTileheight(), 46, 46, Lookup.EMPTY); return false; } }; monsterSpawnBehavior.setEvaluationInterval(evaluationInterval); canvas.addBehaviour(monsterSpawnBehavior); 所以现在每隔十亿分之一秒一个新的敌人就会被添加到运动场中。 我们稍后可能会创建一个EnemySprite类来封装Behavior。 但是现在让我们继续使用此Sprite并向其添加Behavior sprite.addBehaviour(new SpriteBehavior() { AStar.PathNode start attackPath;Override public boolean perform(Sprite sprite) { double x sprite.getX(); double y sprite.getY(); double pathX start.getX() * tileMap.getTilewidth(); double pathY start.getY() * tileMap.getTileheight(); if (Math.abs(pathX- x) 1) { sprite.setVelocityX(.5); } else if (pathX- x -1) { sprite.setVelocityX(-.5); } else { sprite.setVelocityX(0); } if (pathY - y 1) { sprite.setVelocityY(.5); } else if (pathY - y -1) { sprite.setVelocityY(-.5); } else { sprite.setVelocityY(0); } return true; } }); 结果如下 现在就这样。 如您所见通过Behaviors将AI添加到精灵中非常简单AStar非常方便。 在下一部分中我们将注意敌人指向正确的方向并向炮塔添加一些“行为”。 在Eppleton博客上我们的JCG合作伙伴 Toni Epple 参考 JavaFX中的塔防2 。 翻译自: https://www.javacodegeeks.com/2013/10/tower-defense-in-javafx-2.htmljavafx中的tree
http://www.pierceye.com/news/66344/

相关文章:

  • 沈阳网站建设专业公司成全视频免费观看在线看动画
  • 卖护肤在哪个网站做宣传好六间房
  • 佛山网站推广网站建设模板推广
  • 天津 网站设计公司如何攻击Wordpress站点
  • 苏州网站设计公司排名常熟市网页设计公司
  • 如何做地方门户网站济南市住房和城乡建设局
  • 网站改版后 存在大量404页面网页上传 网站
  • dedecms如何做网站个人网站 主机
  • 关于网站建设的合同范本线上分销平台有哪些
  • 公司官方网站一般什么公司做招聘广告设计
  • 开封网站优化梅州建设网站
  • 自己创建一个网站小语种网站建设公司
  • 网站添加邮件发送怎么做中国建设工程协会标准网站
  • 汕头服饰网站建设宁波如何做seo排名优化
  • 杭州设计网站最好的公司自己设计房子装修app免费
  • 备案博客域名做视频网站会怎么样开封公司做网站
  • 电商网站首页设计请人帮忙做网站推广
  • 淄博网站搜索排名自建网站该页无法显示
  • 广东深圳网站建设方便微商城分销系统制作
  • 营销型网站建设目的和意义网页设计图片轮播的代码
  • 网站开发广告那个网站可以做双色球号码对比的
  • 电子商务网站有哪些和网址佛系汉化 wordpress
  • 兰州金建工程建设监理网站建立门户网站的程序
  • 怎样建设一个网站个人注册的网站可以做公司宣传用吗
  • 网站做锚点wordpress 企业网站 授权费
  • 公司网站做地图地址用php做商城网站的设计论文
  • 生产企业网站如何做seo百度服务
  • 手机网站 seo濮阳网站推广
  • 北京微网站建设设计服务公司新手学做网站 pdf 网盘
  • 网站的内链建设seo是什么意思 为什么要做seo