C++ Cocos2d-x CCDirector->;需要的时候转达或打电话?

C++ Cocos2d-x CCDirector->;需要的时候转达或打电话?,c++,cocos2d-iphone,parameter-passing,cocos2d-x,C++,Cocos2d Iphone,Parameter Passing,Cocos2d X,我对CCDirector和其他共享Cocos2d-x对象的使用有一个概念性问题 经常做的一件事是: CCSize s = CCDirector::sharedDirector()->getWinSize(); 我通常只是在需要的地方传递s,而不是重新调用CCDirector::sharedDirector()->getWinSize() 其他人是这样做的吗?或者他们只是在需要的地方重新打电话 #define MIDSCREEN ccp(CCDirector::sharedDirecto

我对CCDirector和其他共享Cocos2d-x对象的使用有一个概念性问题

经常做的一件事是:

CCSize s = CCDirector::sharedDirector()->getWinSize();
我通常只是在需要的地方传递
s
,而不是重新调用
CCDirector::sharedDirector()->getWinSize()

其他人是这样做的吗?或者他们只是在需要的地方重新打电话

#define MIDSCREEN  ccp(CCDirector::sharedDirector()->getWinSize().width/2, CCDirector::sharedDirector()->getWinSize().height/2)
#define WINSIZE    CCDirector::sharedDirector()->getWinSize()
#define WINHEIGHT  CCDirector::sharedDirector()->getWinSize().height
#define WINWIDTH   CCDirector::sharedDirector()->getWinSize().width

与只在需要的地方打电话相比,传递信息是否有成本效益?

天哪!好主意+100.所以基本上,您的答案是调用where needed?鉴于sharedDirector()->getWinsize()调用只返回大小变量,而不进行任何计算,因此只执行一次并传递它是没有意义的。你的内存使用会加倍。将其设置为宏使其变得简单。他问别人做什么——我就是这么做的。
#define MIDSCREEN  ccp(CCDirector::sharedDirector()->getWinSize().width/2, CCDirector::sharedDirector()->getWinSize().height/2)
#define WINSIZE    CCDirector::sharedDirector()->getWinSize()
#define WINHEIGHT  CCDirector::sharedDirector()->getWinSize().height
#define WINWIDTH   CCDirector::sharedDirector()->getWinSize().width