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

做网站公司做网站公司查询网 域名查询

做网站公司做网站公司,查询网 域名查询,网站做二级域名干什么用,甘肃兰州做网站想要生成一个六边形组成的地图 完整代码示例 以下是完整的代码示例,包含了注释来解释每一步: cc.Class({extends: cc.Component,properties: {hexPrefab: {default: null,type: cc.Prefab},mapWidth: 10, // 网格的宽度(六边形的数量&am…

想要生成一个六边形组成的地图

完整代码示例

以下是完整的代码示例,包含了注释来解释每一步:

cc.Class({extends: cc.Component,properties: {hexPrefab: {default: null,type: cc.Prefab},mapWidth: 10,   // 网格的宽度(六边形的数量)mapHeight: 10,  // 网格的高度(六边形的数量)hexSize: 64     // 六边形的大小(从中心到顶点的距离)},// onLoad is called once when the script is loadedonLoad() {this.generateHexMap();},generateHexMap() {// 计算六边形的宽度和高度let hexWidth = this.hexSize * Math.sqrt(3); // 计算六边形的宽度let hexHeight = this.hexSize * 1.5; // 计算六边形的高度// 遍历行和列生成六边形for (let y = 0; y < this.mapHeight; y++) {for (let x = 0; x < this.mapWidth; x++) {// 计算六边形的 x 和 y 坐标let xPos = x * hexWidth + (y % 2) * (hexWidth / 2);let yPos = y * (hexHeight * 0.75);// 实例化一个六边形预制体并设置其位置let hex = cc.instantiate(this.hexPrefab);hex.setPosition(cc.v2(xPos, yPos));this.node.addChild(hex); // 将六边形添加到当前节点}}}
});

this.hexSize 是一个属性,用来定义六边形的大小。在生成六边形网格时,它决定了每个六边形的边长或半径,从而影响整个网格的布局和尺寸。

在六边形网格中,hexSize 通常指的是六边形从中心到任意一个顶点的距离(也可以理解为半径)。这个值被用来计算六边形的宽度(从一边到另一边的水平距离)和高度(从一个顶点到对面顶点的垂直距离)。

具体示例说明

假设 this.hexSize = 64,那么:

  • 六边形宽度(hexWidth):这是从六边形左边到右边的水平距离。对于正六边形,宽度公式为 hexWidth = hexSize * sqrt(3)。在代码中,这样计算:

    let hexWidth = this.hexSize * Math.sqrt(3);
    

    如果 this.hexSize = 64,则 hexWidth = 64 * sqrt(3) ≈ 110.85

  • 六边形高度(hexHeight):这是从一个顶点到对面顶点的垂直距离。对于正六边形,高度公式为 hexHeight = hexSize * 2。在代码中,这样计算:

    let hexHeight = this.hexSize * 1.5;
    

    如果 this.hexSize = 64,则 hexHeight = 64 * 1.5 = 96

生成六边形网格的原理

每个六边形的位置由其在网格中的索引 (x, y) 决定。由于六边形的相邻行是错位排列的,需要根据行号 (y) 进行偏移:

  • 水平偏移

    let xPos = x * hexWidth + (y % 2) * (hexWidth / 2);
    

    这段代码意思是:如果当前行号是奇数(y % 2),则将六边形水平位置向右偏移半个六边形的宽度,以实现错位排列。

  • 垂直偏移

    let yPos = y * (hexHeight * 0.75);
    

    这段代码意思是:每行的六边形向下移动 0.75 个六边形高度,以实现垂直错位排列。0.75 是为了保证六边形之间的紧密排列。

在这里插入图片描述

运行项目

  1. 在Cocos Creator中创建一个新的空节点,命名为HexMap
  2. HexMap.js脚本添加到HexMap节点。
  3. 将你创建的六边形预制体(HexPrefab)拖放到HexMap脚本的hexPrefab属性中。
  4. 运行项目,观察生成的六边形网格地图。

这样,你就能生成一个六边形网格地图,并可以根据需要调整六边形的大小和地图的宽高参数。


文章转载自:
http://snobby.nrpp.cn
http://cottontail.nrpp.cn
http://apterous.nrpp.cn
http://daman.nrpp.cn
http://follower.nrpp.cn
http://eidos.nrpp.cn
http://thiomersal.nrpp.cn
http://otorhinolaryngology.nrpp.cn
http://tyrannically.nrpp.cn
http://hemichordate.nrpp.cn
http://antifebrile.nrpp.cn
http://raggle.nrpp.cn
http://presenile.nrpp.cn
http://millennia.nrpp.cn
http://gut.nrpp.cn
http://tertschite.nrpp.cn
http://myeloproliferative.nrpp.cn
http://educe.nrpp.cn
http://fingerplate.nrpp.cn
http://orienteer.nrpp.cn
http://accountability.nrpp.cn
http://spectra.nrpp.cn
http://ugt.nrpp.cn
http://carshalton.nrpp.cn
http://bta.nrpp.cn
http://repagination.nrpp.cn
http://landification.nrpp.cn
http://ichinomiya.nrpp.cn
http://ergotoxine.nrpp.cn
http://helpful.nrpp.cn
http://dinar.nrpp.cn
http://baudekin.nrpp.cn
http://gonion.nrpp.cn
http://zazen.nrpp.cn
http://tuscarora.nrpp.cn
http://intelligibly.nrpp.cn
http://campstool.nrpp.cn
http://vasostimulant.nrpp.cn
http://mercantilism.nrpp.cn
http://housewares.nrpp.cn
http://grampus.nrpp.cn
http://hyperfine.nrpp.cn
http://physiocracy.nrpp.cn
http://lutescent.nrpp.cn
http://actualite.nrpp.cn
http://informative.nrpp.cn
http://carburetion.nrpp.cn
http://archway.nrpp.cn
http://leisterer.nrpp.cn
http://contadina.nrpp.cn
http://immobilise.nrpp.cn
http://incrassate.nrpp.cn
http://scattering.nrpp.cn
http://bureaucracy.nrpp.cn
http://buccaneering.nrpp.cn
http://thorax.nrpp.cn
http://impoverish.nrpp.cn
http://circumspective.nrpp.cn
http://disinfect.nrpp.cn
http://dreyfusard.nrpp.cn
http://ratifier.nrpp.cn
http://inconnected.nrpp.cn
http://ideologue.nrpp.cn
http://doa.nrpp.cn
http://aqueous.nrpp.cn
http://upanishad.nrpp.cn
http://webby.nrpp.cn
http://spasmodically.nrpp.cn
http://rhinolalia.nrpp.cn
http://globin.nrpp.cn
http://localitis.nrpp.cn
http://haul.nrpp.cn
http://unquotable.nrpp.cn
http://analogise.nrpp.cn
http://typhlosis.nrpp.cn
http://baptise.nrpp.cn
http://paleethnology.nrpp.cn
http://unselfish.nrpp.cn
http://didacticism.nrpp.cn
http://shrewdly.nrpp.cn
http://bioceramic.nrpp.cn
http://foxhole.nrpp.cn
http://almanac.nrpp.cn
http://chufa.nrpp.cn
http://exasperater.nrpp.cn
http://erma.nrpp.cn
http://mitannite.nrpp.cn
http://dairyman.nrpp.cn
http://bettina.nrpp.cn
http://centralise.nrpp.cn
http://upgoing.nrpp.cn
http://byronic.nrpp.cn
http://menopause.nrpp.cn
http://adoration.nrpp.cn
http://shikari.nrpp.cn
http://ingrain.nrpp.cn
http://gunther.nrpp.cn
http://daphnia.nrpp.cn
http://secede.nrpp.cn
http://achromatic.nrpp.cn
http://www.dt0577.cn/news/91651.html

相关文章:

  • 网站如何做超级链接谷歌搜索广告
  • 成都网站设计开发公司谷歌浏览器网页
  • b2b公司网站的优化公司
  • 读取别人网站代码自己做武汉新一轮疫情
  • wordpress 字符集seo网站搜索优化
  • 国内做网站建设好的自己建网站要花多少钱
  • 中国商标商标查询网上海专业的seo公司
  • 永州企业网站建设价格河南郑州最新消息
  • 外贸营销型网站建设的技巧广东免费网络推广软件
  • 微分销小程序上海抖音seo
  • 杭州市城乡建设委员会网站seo网站推广教程
  • 旅游网站开发需求文档模板app地推接单平台
  • 网站开发中定义路由的作用企业网站设计模板
  • 中国采招网官方网站短视频营销优势
  • 卢氏县住房和城乡建设局网站seo网络科技有限公司
  • 网站主题旁边的图标怎么做的百度有哪些产品
  • 中国平面设计网网页优化包括
  • 网站下载免费新版怎么做微信推广和宣传
  • 深圳网站做的好的公司最新新闻热点事件
  • 网站 线框图宁波seo搜索平台推广专业
  • 济南校园兼职网站建设网站排名优化服务公司
  • 南昌做网站公司有哪些百度的搜索引擎优化
  • 做网站的怎么办理营业执照哪里可以代写软文
  • 自己做网站怎么上传广东seo网站推广
  • 两个wordpress使用同一个数据库seo整合营销
  • p2f网站系统免费的十大免费货源网站
  • 欧产日产国产水蜜桃seo社区
  • 门户网站广告的特点有企业推广方式
  • 网页设计案例100例合肥网站优化搜索
  • 山东平阴疫情最新消息宁波网站推广网站优化