「Cocos2dx/property」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→セッターゲッターでpropertyにアクセス) |
(→セッターゲッターでpropertyにアクセス) |
||
行36: | 行36: | ||
-SampleModule.cpp | -SampleModule.cpp | ||
+ | #include "SampleModule.h" | ||
USING_NS_CC; | USING_NS_CC; | ||
static const char* mNameStatic = "hoge_property_static"; | static const char* mNameStatic = "hoge_property_static"; | ||
行48: | 行49: | ||
-HelloWorldScene.cpp | -HelloWorldScene.cpp | ||
− | |||
bool HelloWorld::init() | bool HelloWorld::init() | ||
{ | { |
2017年3月31日 (金) 17:39時点における版
サンプルコード
cpp側にのみ記述、h側には記述不要。
#include "HelloWorldScene.h" USING_NS_CC; const char* mName = "hoge_property"; // 通常property static const char* mNameStatic = "hoge_property_static"; // static_property Scene* HelloWorld::createScene() { auto scene = Scene::create(); auto layer = HelloWorld::create(); scene->addChild(layer); return scene; } bool HelloWorld::init() { mName = "hoge_property2"; log("%s", mName); mNameStatic = "hoge_property_static2"; log("%s", mNameStatic); // 略 }
セッターゲッターでpropertyにアクセス
propertyはpublicにできないと思われるので・・。
-SampleModule.h
#ifndef Helloworld_SampleModule_h #define Helloworld_SampleModule_h class SampleModule { public: static void setName(const char*); static const char* getName(); }; #endif
-SampleModule.cpp
#include "SampleModule.h" USING_NS_CC; static const char* mNameStatic = "hoge_property_static"; void SampleModule::setName(const char* name) { mNameStatic = name; } const char* SampleModule::getName() { return mNameStatic; }
-HelloWorldScene.cpp
bool HelloWorld::init() { SampleModule::setName("hoge_setget"); log("%s", SampleModule::getName()); // hoge_setget // 略 }
存在しないプロパティを使った場合のエラーログ
A/libc: Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 17727 (Thread-6094) E/SurfaceComposerClient: update : Can't get IGlobalScreenshot