
用法灵感来源于unity,打算改造cocos
class SGComponent{public: virtual voID update(float delta){}; virtual voID onStart(){} virtual voID onDestroy(){}; virtual voID onCreate(){};};class AudioComponent :public SGComponent{public:};class RenderComponent :public SGComponent{public:};class GameObject{public: template<class T> SGComponent* GetComponent() { return nullptr; }; template<> SGComponent* GetComponent<AudioComponent>() { return this->_audio; }; template<class T>voID AddComponent(T * t){}; template<>voID AddComponent(RenderComponent *t) { if (_render){} this->_render = t; }; template<>voID AddComponent(AudioComponent *t) { if (_audio){} this->_audio = t; };private: AudioComponent*_audio = nullptr; RenderComponent *_render = nullptr;};int main(int argc,char *argv[]){ _CrtDumpMemoryLeaks(); GameObject obj; cout << obj.GetComponent<RenderComponent>(); system("pause"); return 0;} 总结 以上是内存溢出为你收集整理的cocos实现unity组件式全部内容,希望文章能够帮你解决cocos实现unity组件式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)