cocos2d-x ResolutionPolicy::SHOW_ALL显示漂亮的图像,而不是黑色的间隙

cocos2d-x ResolutionPolicy::SHOW_ALL show nice images instead of black gaps

本文关键字:间隙 黑色 图像 漂亮 SHOW ResolutionPolicy ALL 显示 cocos2d-x      更新时间:2023-10-16

当你在cocos2d-x中设置ResolutionPolicy::SHOW_ALL时,它可能会从上下或从左右两侧出现黑色区域。我可以用一些漂亮的图片覆盖黑色区域吗?

我不认为你可以在后面的区域添加一些东西。

相反,解决方案是建立一个场景,其中已经包含了你想要添加的漂亮图像。步骤如下:
  1. 在你的AppDelegate::applicationDidFinishLaunching()中使用这个来检测屏幕大小:

    CCSize frame = pEGLView->getFrameSize();

  2. 设置与此帧大小成比例的设计分辨率,保持其长宽比

  3. 把你的"内容"放在中间,然后你必须计算"黑色区域"的位置,并添加精灵来覆盖它们。请记住,对于不同的屏幕,孔可能是不同的,所以你需要做一些数学计算,并适当地覆盖不同的孔尺寸。

因此,执行ResolutionPolicy::SHOW_ALL将openGL视图设置为该大小。这就是为什么不能用那个来做。另一方面,有很多方法可以解决这个问题。我所做的是:1. 不要设置resoltionpolicy

  1. 使用一个图层来保存这些漂亮的图像/效果

  2. 在同一个场景中创建一个新层,并根据内容的长宽比设置该层的宽度和高度。把这个作为你的主要游戏视图。