复古游戏:缩放所有精灵或整个画布?

时间:2014-09-15 23:03:13

标签: c++ cocos2d-x cocos2d-x-3.0

我已经在网上尝试过最好的搜索并阅读文档以找到一个好的答案,但我还没有找到答案。

我正在Cocos2d-x v3中创建一个多平台的2D侧滚动复古游戏。这个引擎对我来说很新,但我在C ++,Xcode和游戏开发方面都有不错的经验。

我正在尝试制作的游戏是利用超极小的像素艺术,我不知道哪种方法最好。目前我有两个想法:

  1. 以固定的分辨率工作(例如240x120,我正在使用 真的(!)小精灵)并使用设计分辨率来缩放整个画布 使用kResolutionNoBorder向上调整屏幕大小。
    • 优点:我不必扩展我的精灵,我可以在Init()函数中使用一小段代码。
    • 缺点:不确定您是否可以使用“设计分辨率”来缩放像素完美度?
  2. 缩放每个精灵,使其看起来在±240x120上运行 解析度。
    • 优点:?
    • 缺点:我必须扩展每个精灵,这意味着更多的代码和更少的清晰度,我的画布上真正发生了什么。
  3. 我阅读了Cocos2d-x wiki上的多分辨率支持页面,但它并没有真正给我提供有关复古游戏最佳方法的建议。

    我觉得我对Cocos2d-x没有足够的知识来做出正确的决定,而我脑子里的一个声音说我忘记了重要的事情。

2 个答案:

答案 0 :(得分:0)

还有更多因素在起作用。如何让游戏看起来与240 * 120不同。

我建议缩放像素艺术游戏的屏幕。您还可以控制所有纹理的别名/抗锯齿参数。通常对于像素游戏,关闭抗锯齿。

KResolutionNoBorder可能会裁剪您的游戏边缘以适应它。还有其他选项,如kResolutuonFixedHeight,kResoltuionFitAll,具体取决于游戏要求和HUD放置。

答案 1 :(得分:0)

嗯,它仍然可以在大屏幕上看起来像素完美,cocos2dx使用float来表示大小和位置,所以即使设计视图中的1个像素在屏幕上表示为5x5 pixels,你移动位置0.2 point它看起来会移动1 pixel。它的精确程度取决于设备的屏幕分辨率。

我会去缩放画布