我正在使用 Cocos2d-x V3.x 构建一个 2d 游戏
我想知道,什么是最好的方法来存储屏幕尺寸变量、原点变量和其他可以在整个游戏中保持不变的变量?
例如:
Size windowSize = Director::getInstance()->getVisibleSize();
Vec2 windowOrigin = Director::getInstance()->getVisibleOrigin();
我相信这些可以设置为全局变量。
执行此操作的最有效方法是什么?
有争议的单例是最好的方式吗?
或者我应该让每个 .cpp 文件在每次创建场景时都有自己的 windowSize 变量吗?
最佳答案
方法有很多种,如果你想在所有场景中使用一个变量,你可以按照下面的方法来做。
//in header
class BaseScene : public Scene
{
protected:
Size windowSize;
Vec2 windowOrigin;
};
//cpp file
BaseScene::BaseScene() {
windowSize = Director::getInstance()->getVisibleSize();
windowOrigin = Director::getInstance()->getVisibleOrigin();
}
现在从 BaseScene 类扩展每个场景并直接使用变量 windowSize
和 windowOrigin
关于c++ - 在 Cocos2d-x 中存储屏幕大小、原点和其他全局变量的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38160618/