CN113813608B - 一种2d游戏地图缩小的方法及系统 - Google Patents
一种2d游戏地图缩小的方法及系统 Download PDFInfo
- Publication number
- CN113813608B CN113813608B CN202111185129.0A CN202111185129A CN113813608B CN 113813608 B CN113813608 B CN 113813608B CN 202111185129 A CN202111185129 A CN 202111185129A CN 113813608 B CN113813608 B CN 113813608B
- Authority
- CN
- China
- Prior art keywords
- map
- grid
- coordinate
- scaling
- picture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000006243 chemical reaction Methods 0.000 claims abstract description 28
- 230000005012 migration Effects 0.000 claims abstract description 14
- 238000013508 migration Methods 0.000 claims abstract description 14
- 229910003460 diamond Inorganic materials 0.000 claims description 29
- 239000010432 diamond Substances 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 14
- 238000003475 lamination Methods 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/537—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
- A63F13/5378—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/63—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明提供了一种2D游戏地图缩小的方法,所述方法包括以下步骤:步骤S1、遍历需做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件;步骤S2、按预设定的缩放比例重新计算地图大小和网格数量,进行网格坐标的体系转换;步骤S3、将原来的地图网格数据迁移至缩放后的地图网格数据中;步骤S4、将原来的地图物件资源为2的幂次方缩放后,将图片规格设置为2的幂次方;步骤S5、将缩放后的图片重新贴到地图中,计算缩放后的新坐标及坐标偏移量,同步将地图物件的坐标按照坐标比例进行缩放,从而实现地图的缩小;步骤S6、完成所有资源、数据的转换迁移后,保存成新的地图文件;本发明能够动态修改缩放游戏地图比例。
Description
技术领域
本发明涉及电子地图处理技术领域,特别是一种2D游戏地图缩小的方法及系统。
背景技术
在制作一些2D或者2.5D的游戏地图的过程中,通常会提前预设定地图的大小、网格数量、视口以及物件的显示区域等等。当游戏需要缩减资源包体大小或者抬高视觉效果时(就是一个屏幕内可见的范围变大),从而达到性能调优的效果。此时对于一些长期维护的老地图而言,需要按原先的地图按比例缩小重新切资源、重新制作地图,需要消耗大量的人力成本。
现有技术主要存在以下缺点:
1、需要将地图中的所有资源按需要的比例缩小,同时需要美术重新切资源块,关卡也需要重新制作一遍地图。当涉及的地图较多时就需要投入很多的人力成本。
2、重新制作地图相对耗时,无法快速进行地图更新。
发明内容
为克服上述问题,本发明的目的是提供一种能够动态修改缩放游戏地图比例的方法。
本发明采用以下方案实现:一种2D游戏地图缩小的方法,所述方法包括以下步骤:
步骤S1、遍历需做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件;
步骤S2、按预设定的缩放比例重新计算地图大小和网格数量,进行网格坐标的体系转换;
步骤S3、将原来的地图网格数据迁移至缩放后的地图网格数据中;
步骤S4、将原来的地图物件资源为2的幂次方缩放后,将图片规格设置为2的幂次方;
步骤S5、将缩放后的图片重新贴到地图中,计算缩放后的新坐标及坐标偏移量,同步将地图物件的坐标按照坐标比例进行缩放,从而实现地图的缩小;
步骤S6、完成所有资源、数据的转换迁移后,保存成新的地图文件。
进一步的,所述步骤S1进一步具体为:首先遍历需要做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件,将地图的基本信息加载到本地缓存,同时将地图网格内的基础数据保存到像素点RGBA值中再存储到png图片,做到一个网格对应一个像素点。
进一步的,所述步骤S2进一步具体为:根据地图预设定的缩放比例重新计算地图大小、网格数量、网格坐标体系,然后将存有地图网格信息的png图片按预设定的比例缩放后,从左上顶点开始提取像素点RGBA值转换成网格对应的数据保存到新的网格中。
进一步的,所述步骤S3进一步具体为:加载原地图的过程中将网格中的数据按照像素点方式存储到png图片中,之后将png图片按比例缩放后取出像素点值存储到新的地图网格中。
进一步的,所述步骤S4进一步具体为:预先创建一张空白的图片,将地图物件资源图片按预设定的比例缩放后,按照从左到右从上到下的规则将缩放后的图片从左上方的顶点开始将像素点拷贝到预先创建的空白图片中,完成后图片会在右方和下方存在空白的冗余区域,此时按照2的幂次方去查找空白区域,裁剪掉除去2的幂次方外的空白区域,最终剩下的图片为2的幂次方,实现图片的缩放。
进一步的,所述步骤S5进一步具体为:在地图物件坐标转换过程,一个菱形网格只能转换成一个菱形网格中心点的世界坐标,但是一个菱形网格内的所有菱形网格中心点的世界坐标均可以转换成同一个网格坐标,根据这个原则,将网格坐标转换成菱形网格中心点的世界坐标按比例缩放后计算出前后的坐标偏移量,避免因坐标偏差导致物件贴合存在缝隙的问题。
本发明还提供了一种2D游戏地图缩小的系统,包括加载模块、转换模块、迁移模块、设置模块、缩放模块和生成模块,所述加载模块,即遍历需做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件;所述转换模块,即按预设定的缩放比例重新计算地图大小和网格数量,进行网格坐标的体系转换;所述迁移模块,即将原来的地图网格数据迁移至缩放后的地图网格数据中;所述设置模块,即将原来的地图物件资源为2的幂次方缩放后,将图片规格设置为2的幂次方;所述缩放模块,即将缩放后的图片重新贴到地图中,计算缩放后的新坐标及坐标偏移量,同步将地图物件的坐标按照坐标比例进行缩放,从而实现地图的缩小;所述生成模块,即完成所有资源、数据的转换迁移后,保存成新的地图文件。
进一步的,所述加载模块进一步具体为:首先遍历需要做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件,将地图的基本信息加载到本地缓存,同时将地图网格内的基础数据保存到像素点RGBA值中再存储到png图片,做到一个网格对应一个像素点。
进一步的,所述转换模块进一步具体为:根据地图预设定的缩放比例重新计算地图大小、网格数量、网格坐标体系,然后将存有地图网格信息的png图片按预设定的比例缩放后,从左上顶点开始提取像素点RGBA值转换成网格对应的数据保存到新的网格中。
进一步的,所述迁移模块进一步具体为:加载原地图的过程中将网格中的数据按照像素点方式存储到png图片中,之后将png图片按比例缩放后取出像素点值存储到新的地图网格中。
进一步的,所述设置模块进一步具体为:预先创建一张空白的图片,将地图物件资源图片按预设定的比例缩放后,按照从左到右从上到下的规则将缩放后的图片从左上方的顶点开始将像素点拷贝到预先创建的空白图片中,完成后图片会在右方和下方存在空白的冗余区域,此时按照2的幂次方去查找空白区域,裁剪掉除去2的幂次方外的空白区域,最终剩下的图片为2的幂次方,实现图片的缩放。
进一步的,所述缩放模块进一步具体为:在地图物件坐标转换过程,一个菱形网格只能转换成一个菱形网格中心点的世界坐标,但是一个菱形网格内的所有菱形网格中心点的世界坐标均可以转换成同一个网格坐标,根据这个原则,将网格坐标转换成菱形网格中心点的世界坐标按比例缩放后计算出前后的坐标偏移量,避免因坐标偏差导致物件贴合存在缝隙的问题。
本发明的有益效果在于:通过本发明,可以动态修改缩放比例,无需美术重新切图,也不需要关卡重新制作地图,只需重新将地图重新加载保存即可,提供了一种高效快捷的缩放地图资源及地图框架大小的方式。
附图说明
图1是本发明的方法流程示意图。
图2是本发明的系统原理框图。
图3为地图物件资源缩放过程示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种2D游戏地图缩小的方法,所述方法包括以下步骤:
步骤S1、遍历需做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件;
步骤S2、按预设定的缩放比例重新计算地图大小和网格数量,进行网格坐标的体系转换;
步骤S3、将原来的地图网格数据迁移至缩放后的地图网格数据中;
步骤S4、将原来的地图物件资源为2的幂次方缩放后,将图片规格设置为2的幂次方;
步骤S5、将缩放后的图片重新贴到地图中,计算缩放后的新坐标及坐标偏移量,同步将地图物件的坐标按照坐标比例进行缩放,从而实现地图的缩小;
步骤S6、完成所有资源、数据的转换迁移后,保存成新的地图文件。
下面通过一具体实施例对本发明作进一步说明:
1.地图大小、网格数量、网格坐标体系转换
按预设定的缩放比例重新计算地图大小,网格数量。网格数量的多少是由地图大小决定的。比如原始地图长为21,宽为15,网格数量的计算公式为:网格数量=(地图长*2+地图宽*4)*2,也就是(21*2+15*4)*2=204,所以原始网格坐标的范围是[0,204]。按60%的比例缩小后,地图长变为12,宽变成9,按照网格数量计算公式,新的网格数量为:(12*2+9*4)*2=120,所以新的网格坐标范围是[0,120]。也就是网格坐标体系要从[0,204]转换成[0,120]。
2.原有网格中的数据(掩码、地形、高度、半透明)迁移至新的网格中
加载原地图的过程中将网格中的数据按照像素点方式存储到png图片中,之后将png图片按比例缩放后取出像素点值存储到新的网格中。
3.地图物件资源为2的幂次方缩放后图片规格设置为2的幂次方
预先创建一张空白的图片,将物件资源图片按预设定的比例缩放后,按照从左到右从上到下的规则将缩放后的图片从左上方的顶点开始将像素点拷贝到预先创建的空白图片中,完成后图片会在右方和下方存在空白的冗余区域,此时按照2的幂次方去查找空白区域,符合要求的就裁剪掉,最终剩下的图片为2的幂次方,且图片也进行了缩放。
4.缩放后的图片重新贴到地图中,需计算缩放后的新坐标以及坐标偏移量
由于网格坐标的变化,所以需要同步将物件的坐标按比例缩放,同时计算出坐标偏移量。网格是菱形的,菱形内的水平对角线iWidth=64,垂直对角线iHeight=32,设网格坐标的的xy分别为iCellX,iCellY,世界坐标的xy分别为iWorldX,iWorldY网格坐标转换成世界坐标的公式为iWorldX=iWidth*(iCellX-iCellY)/2,iWorldY=iHeight*(iCellX+iCellY)/2。世界坐标转换成格子坐标的公式iCellx=iWorldX/iWidth+iWorldY/iHeight,iCellY=iWorldY/iHeight-iWorldX/iWidth。
首先将物件的网格坐标A[79,127]带入上述的公式转换成世界坐标B[-1536,3296],将世界坐标B按比例缩放成世界坐标C[-903,1938],将世界坐标C带入上述公式转换成网格坐标D[46,75],由于一个网格坐标只对应一个世界坐标(即网格中心点),但是同一个菱形网格内的所有世界坐标均可以对应同一个网格坐标,所以要将网格坐标D再次带入公式转换为世界坐标E[-928,1936],此时世界坐标E和世界坐标C的差就是缩放前后坐标的偏移量[-25,-2]。
5.保存地图
完成所有资源、数据的转换迁移后,保存成新的地图文件。
首先遍历需要做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件,将地图的基本信息如地图大小、网格数量、网格数据、物件资源信息等加载到本地缓存,同时将网格内的基础数据保存到像素点RGBA中再存储到png图片,做到一个网格对应一个像素点。
根据预设定的缩放比例重新计算地图大小、网格数量、网格坐标体系。然后存有网格信息的png图片按预设定的比例缩放后,从左上顶点开始提取像素点RGBA值转换成网格对应的数据保存到新的网格中。
然后到物件资源图片的缩放,按原资源的格式(原资源大小为2的幂次方)创建一张空白图片,将缩放后的图片拷贝到空白图片中,从右到左,从下到上遍历存在空白区域且长度为2的幂次方就进行裁剪。同时一个图片资源有可能会被不同的地图使用,为避免同一个资源被重复缩放,将新的图片资源直接替换原先的资源,同时将原始资源备份到一个固定路径中,当准备缩放一个资源的时候,检查该资源在备份路径中是否存在,存在就不进行再次缩放。
物件坐标转换过程,一个菱形网格只能转换成一个世界坐标(即菱形网格中心点的世界坐标),但是一个菱形网格内的所有世界坐标均可以转换成同一个网格坐标。根据这个原则,将网格坐标转换成世界坐标按比例缩放后计算出前后的坐标偏移量,这样可以解决因坐标偏差导致物件贴合存在缝隙的问题。
最后就将、地图资源和数据做了同步缩放后,保存成新的地图文件就完成了。
总之,本发明主要是通过加载需要修改的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件,按照预先设定的缩放比例同步调整地图的宽高以及网格数量,同时将原地图网格中存储的数据(如掩码、地形、高度、半透明)迁移至缩放后的网格中,接着对地图中物件根据比例缩放后按2的幂次方规格进行裁剪,操作完成后保存的新的地图文件。
请参阅图2所示,本发明还提供了一种2D游戏地图缩小的系统,包括加载模块、转换模块、迁移模块、设置模块、缩放模块和生成模块,所述加载模块,即遍历需做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件;所述转换模块,即按预设定的缩放比例重新计算地图大小和网格数量,进行网格坐标的体系转换;所述迁移模块,即将原来的地图网格数据迁移至缩放后的地图网格数据中;所述设置模块,即将原来的地图物件资源为2的幂次方缩放后,将图片规格设置为2的幂次方;所述缩放模块,即将缩放后的图片重新贴到地图中,计算缩放后的新坐标及坐标偏移量,同步将地图物件的坐标按照坐标比例进行缩放,从而实现地图的缩小;所述生成模块,即完成所有资源、数据的转换迁移后,保存成新的地图文件。
所述加载模块进一步具体为:首先遍历需要做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件,将地图的基本信息加载到本地缓存,同时将地图网格内的基础数据保存到像素点RGBA值中再存储到png图片,做到一个网格对应一个像素点。
所述转换模块进一步具体为:根据地图预设定的缩放比例重新计算地图大小、网格数量、网格坐标体系,然后将存有地图网格信息的png图片按预设定的比例缩放后,从左上顶点开始提取像素点RGBA值转换成网格对应的数据保存到新的网格中。
所述迁移模块进一步具体为:加载原地图的过程中将网格中的数据按照像素点方式存储到png图片中,之后将png图片按比例缩放后取出像素点值存储到新的地图网格中。
所述设置模块进一步具体为:预先创建一张空白的图片,将地图物件资源图片按预设定的比例缩放后,按照从左到右从上到下的规则将缩放后的图片从左上方的顶点开始将像素点拷贝到预先创建的空白图片中,完成后图片会在右方和下方存在空白的冗余区域,此时按照2的幂次方去查找空白区域,裁剪掉除去2的幂次方外的空白区域,最终剩下的图片为2的幂次方,实现图片的缩放。
所述缩放模块进一步具体为:在地图物件坐标转换过程,一个菱形网格只能转换成一个菱形网格中心点的世界坐标,但是一个菱形网格内的所有菱形网格中心点的世界坐标均可以转换成同一个网格坐标,根据这个原则,将网格坐标转换成菱形网格中心点的世界坐标按比例缩放后计算出前后的坐标偏移量,避免因坐标偏差导致物件贴合存在缝隙的问题。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (10)
1.一种2D游戏地图缩小的方法,其特征在于,所述方法包括以下步骤:
步骤S1、遍历需做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件;
步骤S2、按预设定的缩放比例重新计算地图大小和网格数量,进行网格坐标的体系转换;
步骤S3、将原来的地图网格数据迁移至缩放后的地图网格数据中;
步骤S4、将原来的地图物件资源为2的幂次方缩放后,将图片规格设置为2的幂次方;
步骤S5、将缩放后的图片重新贴到地图中,计算缩放后的新坐标及坐标偏移量,
同步将地图物件的坐标按照坐标比例进行缩放,从而实现地图的缩小;
步骤S6、完成所有资源、数据的转换迁移后,保存成新的地图文件;
所述步骤S4进一步具体为:预先创建一张空白的图片,将地图物件资源图片按预设定的比例缩放后,按照从左到右从上到下的规则将缩放后的图片从左上方的顶点开始将像素点拷贝到预先创建的空白图片中,完成后图片会在右方和下方存在空白的冗余区域,此时按照2的幂次方去查找空白区域,裁剪掉除去2的幂次方外的空白区域,最终剩下的图片为2的幂次方,实现图片的缩放;
物件的网格是菱形的,设置菱形网格中的水平对角线为iWidth,垂直对角线为iHeight,设网格坐标的xy分别为iCellX,iCellY,世界坐标的xy分别为iWorldX,iWorldY;则网格坐标转换成世界坐标的公式为iWorldX=iWidth*(iCellX-iCellY)/2,iWorldY=iHeight*(iCellX+iCellY)/2;世界坐标转换成格子坐标的公式为iCellx=iWorldX/iWidth+iWorldY/iHeight,iCellY=iWorldY/iHeight-iWorldX/iWidth;通过网格坐标转换成世界坐标的公式和世界坐标转换成格子坐标的公式来计算缩放后的新网格坐标,利用新网格坐标的世界坐标和原先网格坐标的世界坐标做差得到缩放前后坐标的偏移量。
2.根据权利要求1所述的一种2D游戏地图缩小的方法,其特征在于:所述步骤S1进一步具体为:首先遍历需要做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件,将地图的基本信息加载到本地缓存,同时将地图网格内的基础数据保存到像素点RGBA值中再存储到png图片,做到一个网格对应一个像素点。
3.根据权利要求1所述的一种2D游戏地图缩小的方法,其特征在于:所述步骤S2进一步具体为:根据地图预设定的缩放比例重新计算地图大小、网格数量、网格坐标体系,然后将存有地图网格信息的png图片按预设定的比例缩放后,从左上顶点开始提取像素点RGBA值转换成网格对应的数据保存到新的网格中。
4.根据权利要求1所述的一种2D游戏地图缩小的方法,其特征在于:所述步骤S3进一步具体为:加载原地图的过程中将网格中的数据按照像素点方式存储到png图片中,之后将png图片按比例缩放后取出像素点值存储到新的地图网格中。
5.根据权利要求1所述的一种2D游戏地图缩小的方法,其特征在于:所述步骤S5进一步具体为:在地图物件坐标转换过程,一个菱形网格只能转换成一个菱形网格中心点的世界坐标,但是一个菱形网格内的所有菱形网格中心点的世界坐标均可以转换成同一个网格坐标,根据这个原则,将网格坐标转换成菱形网格中心点的世界坐标按比例缩放后计算出前后的坐标偏移量,避免因坐标偏差导致物件贴合存在缝隙的问题。
6.一种2D游戏地图缩小的系统,其特征在于:包括加载模块、转换模块、迁移模块、设置模块、缩放模块和生成模块,所述加载模块,即遍历需做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件;所述转换模块,即按预设定的缩放比例重新计算地图大小和网格数量,进行网格坐标的体系转换;所述迁移模块,即将原来的地图网格数据迁移至缩放后的地图网格数据中;所述设置模块,即将原来的地图物件资源为2的幂次方缩放后,将图片规格设置为2的幂次方;所述缩放模块,即将缩放后的图片重新贴到地图中,计算缩放后的新坐标及坐标偏移量,同步将地图物件的坐标按照坐标比例进行缩放,从而实现地图的缩小;所述生成模块,即完成所有资源、数据的转换迁移后,保存成新的地图文件;
所述设置模块进一步具体为:预先创建一张空白的图片,将地图物件资源图片按预设定的比例缩放后,按照从左到右从上到下的规则将缩放后的图片从左上方的顶点开始将像素点拷贝到预先创建的空白图片中,完成后图片会在右方和下方存在空白的冗余区域,此时按照2的幂次方去查找空白区域,裁剪掉除去2的幂次方外的空白区域,最终剩下的图片为2的幂次方,实现图片的缩放;
物件的网格是菱形的,设置菱形网格中的水平对角线为iWidth,垂直对角线为iHeight,设网格坐标的xy分别为iCellX,iCellY,世界坐标的xy分别为iWorldX,iWorldY;则网格坐标转换成世界坐标的公式为iWorldX=iWidth*(iCellX-iCellY)/2,iWorldY=iHeight*(iCellX+iCellY)/2;世界坐标转换成格子坐标的公式为iCellx=iWorldX/iWidth+iWorldY/iHeight,iCellY=iWorldY/iHeight-iWorldX/iWidth;通过网格坐标转换成世界坐标的公式和世界坐标转换成格子坐标的公式来计算缩放后的新网格坐标,利用新网格坐标的世界坐标和原先网格坐标的世界坐标做差得到缩放前后坐标的偏移量。
7.根据权利要求6所述的一种2D游戏地图缩小的系统,其特征在于:所述加载模块进一步具体为:首先遍历需要做缩放的地图文件夹,生成地图文件路径的配置文件,依次加载配置文件中的地图文件,将地图的基本信息加载到本地缓存,同时将地图网格内的基础数据保存到像素点RGBA值中再存储到png图片,做到一个网格对应一个像素点。
8.根据权利要求6所述的一种2D游戏地图缩小的系统,其特征在于:所述转换模块进一步具体为:根据地图预设定的缩放比例重新计算地图大小、网格数量、网格坐标体系,然后将存有地图网格信息的png图片按预设定的比例缩放后,从左上顶点开始提取像素点RGBA值转换成网格对应的数据保存到新的网格中。
9.根据权利要求6所述的一种2D游戏地图缩小的系统,其特征在于:所述迁移模块进一步具体为:加载原地图的过程中将网格中的数据按照像素点方式存储到png图片中,之后将png图片按比例缩放后取出像素点值存储到新的地图网格中。
10.根据权利要求6所述的一种2D游戏地图缩小的系统,其特征在于:所述缩放模块进一步具体为:在地图物件坐标转换过程,一个菱形网格只能转换成一个菱形网格中心点的世界坐标,但是一个菱形网格内的所有菱形网格中心点的世界坐标均可以转换成同一个网格坐标,根据这个原则,将网格坐标转换成菱形网格中心点的世界坐标按比例缩放后计算出前后的坐标偏移量,避免因坐标偏差导致物件贴合存在缝隙的问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111185129.0A CN113813608B (zh) | 2021-10-12 | 2021-10-12 | 一种2d游戏地图缩小的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111185129.0A CN113813608B (zh) | 2021-10-12 | 2021-10-12 | 一种2d游戏地图缩小的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113813608A CN113813608A (zh) | 2021-12-21 |
CN113813608B true CN113813608B (zh) | 2023-09-15 |
Family
ID=78916433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111185129.0A Active CN113813608B (zh) | 2021-10-12 | 2021-10-12 | 一种2d游戏地图缩小的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113813608B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645056A (zh) * | 2004-01-20 | 2005-07-27 | Lg电子有限公司 | 转换地图数据坐标值的方法 |
JP2011255057A (ja) * | 2010-06-11 | 2011-12-22 | Nintendo Co Ltd | 情報処理プログラム、情報処理装置、情報処理システム、および、マップ表示方法 |
CN106075907A (zh) * | 2016-06-02 | 2016-11-09 | 苏州乐米信息科技有限公司 | 一种游戏地图的编辑方法 |
CN106339095A (zh) * | 2016-09-08 | 2017-01-18 | 辽宁师范大学 | 一种基于数字地球的登山健身装置 |
CN109857825A (zh) * | 2019-01-16 | 2019-06-07 | 广州城投发展研究院有限公司 | 一种三维模型展示方法及系统 |
CN109939440A (zh) * | 2019-04-17 | 2019-06-28 | 网易(杭州)网络有限公司 | 三维游戏地图的生成方法、装置、处理器及终端 |
CN110975292A (zh) * | 2019-11-22 | 2020-04-10 | 福建天晴在线互动科技有限公司 | 一种基于psd文件的游戏地图绘制方法及其系统 |
KR20210099298A (ko) * | 2020-02-04 | 2021-08-12 | 네이버 주식회사 | 실외 3차원 지도 정보를 기반으로 비주얼 로컬리제이션을 제공하기 위한 전자 장치 및 그의 동작 방법 |
-
2021
- 2021-10-12 CN CN202111185129.0A patent/CN113813608B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645056A (zh) * | 2004-01-20 | 2005-07-27 | Lg电子有限公司 | 转换地图数据坐标值的方法 |
JP2011255057A (ja) * | 2010-06-11 | 2011-12-22 | Nintendo Co Ltd | 情報処理プログラム、情報処理装置、情報処理システム、および、マップ表示方法 |
CN106075907A (zh) * | 2016-06-02 | 2016-11-09 | 苏州乐米信息科技有限公司 | 一种游戏地图的编辑方法 |
CN106339095A (zh) * | 2016-09-08 | 2017-01-18 | 辽宁师范大学 | 一种基于数字地球的登山健身装置 |
CN109857825A (zh) * | 2019-01-16 | 2019-06-07 | 广州城投发展研究院有限公司 | 一种三维模型展示方法及系统 |
CN109939440A (zh) * | 2019-04-17 | 2019-06-28 | 网易(杭州)网络有限公司 | 三维游戏地图的生成方法、装置、处理器及终端 |
CN110975292A (zh) * | 2019-11-22 | 2020-04-10 | 福建天晴在线互动科技有限公司 | 一种基于psd文件的游戏地图绘制方法及其系统 |
KR20210099298A (ko) * | 2020-02-04 | 2021-08-12 | 네이버 주식회사 | 실외 3차원 지도 정보를 기반으로 비주얼 로컬리제이션을 제공하기 위한 전자 장치 및 그의 동작 방법 |
Non-Patent Citations (1)
Title |
---|
基于JSON的教育游戏地图可视化研究;罗静;王美华;刘跃勇;张典;;计算机应用与软件(06) * |
Also Published As
Publication number | Publication date |
---|---|
CN113813608A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5111095B2 (ja) | コンテンツを意識した画像の再構成方法 | |
DE202015009163U1 (de) | Mosaikbasierte Verteilung von suchbaren geospatialen Daten an Client-Vorrichtungen | |
CN106775225A (zh) | 跨文档无缝漫游浏览pdf地图的方法 | |
CN106599025B (zh) | 一种基于数据交换格式的矢量数据切片方法及系统 | |
CN110335354B (zh) | 一种模块化3d建模的方法和装置 | |
CN113409411A (zh) | 图形界面的渲染方法、装置、电子设备及存储介质 | |
CN110865750A (zh) | 瓦片地图的无极缩放显示方法 | |
CN111026891A (zh) | 一种地图底图集成方法 | |
CN113868494A (zh) | 一种大数据可视化展示系统 | |
EP3842763A2 (en) | Method for displaying electronic map, electronic device, readable storage medium and computer program product | |
CN113813608B (zh) | 一种2d游戏地图缩小的方法及系统 | |
CN108830794B (zh) | 高斯投影的pdf地图跨图幅无缝拼接显示方法 | |
CN107526576B (zh) | 页面的视图组件的展示方法和装置 | |
CN103915035B (zh) | 一种数据转换方法及数据转换装置 | |
JP2837584B2 (ja) | 地形データの作成方法 | |
CN104346771B (zh) | 一种电子地图分层管理方法 | |
US20060080597A1 (en) | Object editing system | |
CN104517273A (zh) | 一种图像超分辨率处理方法及装置 | |
CN114984576A (zh) | 对象渲染方法及装置 | |
CN114663612A (zh) | 一种高精度地图构建方法、装置及电子设备 | |
CN112907752A (zh) | 一种基于全球索引的点云切片处理方法 | |
CN110688186A (zh) | 一种海量遥感影像数据管理及快速显示方法 | |
CN112767419A (zh) | 一种图集九宫格切割的方法及系统 | |
CN115830286B (zh) | 一种保持三维场景纹理清晰度一致量的烘焙方法 | |
CN117152300B (zh) | 用于dcs系统流程图绘制性能优化的图层动态规划算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |