请教开发关于2D策略游戏的思路

本人刚接触 cocos 框架,目前使用的是 CocosCreator。
目的是:动态生成 Sprite ,模拟成一个2000星系(Sprite)的银河系,因为地图过大,所有必须要支持拖拽,跟随鼠标中心缩放等功能。

目前使用 scrollview 里面套巨大的 centent 实现了银河系地图生成与拖放,但是遇到很多问题,想有请教一下各位大佬。


两个问题想请教:

**缩放功能。**目前缩放是根据锚点进行缩放,不符合用户直觉。应该跟随鼠标位置进行缩放。

使用 scrollview 与巨大的 content 作为地图是否正确? 是否应该使用其他组件或方式来实现地图更好?我的地图很简单,没有碰撞检测,只有非常多的星系(Sprite),随机分散,组成银河系。

是否应该使用 TileMap? 此组件似乎是用来绘制有物体与碰撞检测的2D地图的组件,我不需要任何碰撞检测与墙体,因为星系之间不会有墙壁,是否应该使用此组件?。

请问我是做错了什么吗?

缩放的话我觉得可以使用摄像机,放大时移动摄像机,保持在屏幕中心。这么大的地图我觉得最好使用一下分块加载和空间分区。话说楼主这是要做群星吗

1赞

地图分块,自己控制下星系的active

拖拽的话,可以看看这个
https://mp.weixin.qq.com/s/QkM12RPD05IohozcfnesYg

scrollview 不合适吧

我的 无限 地图你看下好了

1赞

是的,类似于群星的一款2D游戏

有项目参考地址吗?谢谢!

睿智的p社玩家+1000

不回答问题 - 1000
愚蠢的唯物主义者 -100

巨像臣服,全面战争,宣战。

你说的摄像机似乎是3D才有吧?是否应该推荐使用 TileMap呢?你认为?

非常感谢!谢谢!

这个系列的文章大概有四五篇,你可以都看看,微信里格式完整

瓦片地图和碰撞并没有啥关系,不过按照你的需求,我觉得使用TileMap可以给你省很多工作量吧

如果使用 TileMap,那么移动地图,就变成移动摄像头了,如果只是键盘操作还好,但是鼠标拖拽的方式来移动地图,是不是就需要自己监听鼠标按下与抬起事件,然后计算移动距离再移动摄像机。

而且似乎放大,缩小也是个问题,摄像机直接放大似乎不行?

摄像机有一个视距的参数,调整这个参数就可以实现类似的放大缩小功能。

移动摄像机是一个方案,你自己写tilemap的位置也是可以的啊·············
缩放直接用摄像机的参数就行

大哥 也给我看看呗