首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript(gameQuery游戏)--我如何才能在tilemap中得到下一个底部元素?

Javascript(gameQuery游戏)--我如何才能在tilemap中得到下一个底部元素?
EN

Stack Overflow用户
提问于 2013-07-25 19:13:23
回答 1查看 125关注 0票数 0

如何在不遍历整个tilemap的情况下获得所选瓷砖的下一个底部元素(id,class)?例如:我的瓷砖$('.gQ_tileType_4')是游戏中的一块石头,如果下一个底部的瓷砖$('.gQ_tileType_8')是一个空格,这个应该会掉下来。现在我循环遍历整个tilemap,并将元素与xy坐标进行比较。但我认为这是一个错误的方法,因为游戏的表现正在放缓。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-28 07:51:55

gameQuery为以下列方式构造的每个瓷砖提供了一个唯一的id:

代码语言:javascript
复制
$.gameQuery.tileIdPrefix+name+"_"+row+"_"+column

这意味着,如果您的tilemap名为"foo“,则可以通过以下方式访问位于(a,b)位置的瓷砖:

代码语言:javascript
复制
$("#"+$.gameQuery.tileIdPrefi+"foo_"+a+"_"+b);

同样,您可以通过解析瓷砖的id来推断它的位置(按索引计算)。这意味着,对于给定的瓷砖,您可以找到它的位置,并具体地探测瓷砖的状态,就在下面。

然而,我不确定使用瓷砖地图是最好的解决方案,因为他们不应该改变。目前,它不应该引起任何问题,但我不能保证,在未来的版本,这将不会中断一些功能,如碰撞检测。

在这种情况下,我只需使用精灵来显示元素。为了使游戏的逻辑实现更快,我只需将tiles状态存储在一个二维数组中,以及对关联的sprite的引用。

通过这种方式,您可以简单地使用数组,并在需要时更新相关的精灵。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17866797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档