关于tilemap在platform游戏中的应用

platform 游戏中很少用到物理引擎,首先是物理引擎太难控制,特别是platform一般追求较高的操作手感,其次物理引擎太消耗

所以一般都是自己简单的做物理效果,主要围绕重力,速度/加速度,碰撞检查

地图一般采用tile拼凑成的,目前能找到的较好的tile工具就是tilemap

但是在实际使用中发现,tilemap并不是很适合platform,因为tilemap以tile为单位,如果是很大一块区域(比如地)都是同一种tile

碰撞检查不仅麻烦,而且过小的划分,位置上面会经常做修正,有可能引入bug

觉得完全可以将同类型的区域根据是否可以融合自动融合成一个大的tile

待续。。。

时间: 2024-12-30 03:58:43

关于tilemap在platform游戏中的应用的相关文章

cocos2dx --- 在游戏中显示HTML页面

前文介绍了简单的富文本组件RichText,现在我们来了解下由freeType库做出来的第三方组件,可以直接显示html页面,并且能够实现超链接,和触摸事情. 步骤: 1.在github中  下载   ,地址再贴下: https://github.com/happykevins/cocos2dx-ext   , 下载这个项目,github的下载方式自行百度. 2.将下载的文件中的extensions 目录下面的cells.dfont.RichControls 这三个文件夹和 renren-ext

Cocos2d-x中由sprite来驱动Box2D的body运动(用来制作平台游戏中多变的机关)

好久都没写文章了,就来一篇吧.这种方法是在制作<胖鸟大冒险>时用到的.<胖鸟大冒险>中使用Box2D来进行物理模拟和碰撞检測,因此对每一个机关须要创建一个b2body.然后<胖鸟>是依据<超级马里奥兄弟>设计的,所以机关能够是各种运动轨迹的平台,绕圈转的乌龟,蹦蹦跳的乌龟等.假设用box2d来做这些运动的话要自己写这些轨迹.可是Cocos2d-x已经提供了非常多的action,自己添加action也非常方便.反过来用sprite去设置box2d的b2body

Unity 2D游戏开发教程之游戏中精灵的跳跃状态

Unity 2D游戏开发教程之游戏中精灵的跳跃状态 精灵的跳跃状态 为了让游戏中的精灵有更大的活动范围,上一节为游戏场景添加了多个地面,于是精灵可以从高的地面移动到低的地面处,如图2-14所示.但是却无法从低的地面移动到高的地面,因为当前的游戏精灵只能左右移动,即left和right.为了解决这个问题,本节就来为精灵添加跳跃状态.   图2-14  精灵从一个地面移动到另一个地面 (1)如果要为精灵添加跳跃状态,即jump,就不得不再引入其它状态: q   landing:用于表示精灵接触到地面

Dota 游戏中的攻击与伤害分析

摘要:在上一篇文章中分析了物理攻击和护甲的攻防分析,但是忽略了英雄对战里面一个很重要的角色--技能攻击.实际上,除了少数后期英雄可以直接靠平砍(即物理攻击)杀人外,大部分英雄尤其是智力英雄还是要靠技能收割人头的.技能的使用也是评价一个玩家水平高低的主要指标.在本文中,我们就技能进行分析. 关键字:技能攻击 魔抗 护甲 伤害类型 攻击类型 Dota中的攻击类型共有普通攻击.穿刺攻击.攻城攻击.混乱攻击.英雄攻击和法术攻击6种.除了法术攻击,其他的统称为物理攻击.然而我们只考虑英雄的话,只有英雄攻击

全屏游戏中自动切出到桌面的问题解决(二)

关于全屏游戏,类似英雄联盟等,游戏中,自动切到桌面的问题,之前发布过一个解决过的问题.今天又碰到一个类似的问题,当然还是用前端进程工具查找一下什么进程引起的游戏切出.经过观察为update.exe这个进程导致.那么下面就需要查找这个文件的来源了.通过查找路径,发现此文件随机性特别强,任意变换目录,而且通过软件也看不出其父进程.如图:    那么只有借助其他软件了.打开 ProcessExplorer,观察所有进程,发现有UPDATE,但是也无法观察到父进程.那么结束掉这个进程,并且使用顺网小哥的

全屏游戏中自动切出到桌面的问题解决

近期遇到一个客户全屏游戏中,自动切出游戏到桌面的问题,于是到现场解决.     打开游戏<英雄联盟>测试,并开启前端进程监测软件监测.一段时间过后,游戏切出,发现一个名称为"DeskTopHelper.exe"的进程.如图: 好吧,那么看一看这个进程是哪个软件带的吧.打开PROCESS EXPLORER,查看一下,如图: 通过进程关系,并进一步查找文件目录得知,这个进程是"95网吧大师的进程".那么得知是哪个软件导致的,解决办法就不用再说了吧. 附上工具

游戏中的音效

1. 游戏中的即时音效: 在游戏中,根据情况播放的即时音效较为短暂.可以重复.也可以同时播放.由于Android中提供的MediaPlayer会占用大量的系统资源,而且播放时还会进行缓冲,有较大的延时,因此使用MediaPlayer无法实现即时音效的播放.而在Android中专门提供的SoundPool类主要用于管理和播放应用程序中的声音资源,使用该类时首先需要通过该类将声音资源加载到内存中,然后在需要的即时音效的地方播放即可,几乎没有延时现象.[由于SoundPool设计的初衷是用于无延时地播

漫谈游戏中的人工智能

写在前面   今天我们来谈一下游戏中的人工智能.当然,内容可能不仅仅限于游戏人工智能,还会扩展一些其他的话题. 游戏中的人工智能,其实还是算是游戏开发中有点挑战性的模块,说简单点呢,是状态机,说复杂点呢,是可以帮你打开新世界大门的一把钥匙.有时候看到知乎上一些可能还是前公司同事的同学的一些话,感觉还是挺哭笑不得的,比如这篇:http://zhi.hu/qu1h,吹捧机器学习这种玄学,对游戏开发嗤之以鼻.我只能说,技术不到家.Vision不够,这些想通过换工作可培养不来. 这篇文章其实我挺早就想写

C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二)

本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (一) 上个帖子主要是讲了如何读取Excel,本帖主要是讲述读取的Excel数据是如何序列化成二进制的,考虑到现在在手游中应用很广泛的序列化技术Google的ProtoBuf,所以本文也是按照ProtoBuf的方式来操作的.ProtoBuf是一个开源库,简单来说ProtoBuf就是一个能使序列化的数据变得更小的类库,当然这里指的更小是相对的.好了ProtBuf的东西就不在多说,以后会专门写一篇帖子的.本帖其实就相当于上