facebook twitter hatena line email

「Cocos2dx/property」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==サンプルコード== cpp側にのみ記述、h側には記述不要。 #include "HelloWorldScene.h" USING_NS_CC; const char* mStr = "hoge_property"; // 通常prop...」)
 
(サンプルコード)
行3: 行3:
 
  #include "HelloWorldScene.h"
 
  #include "HelloWorldScene.h"
 
  USING_NS_CC;
 
  USING_NS_CC;
  const char* mStr = "hoge_property"; // 通常property
+
  const char* mName = "hoge_property"; // 通常property
  static const char* mStrStatic = "hoge_property_static"; // static_property
+
  static const char* mNameStatic = "hoge_property_static"; // static_property
 
  Scene* HelloWorld::createScene()
 
  Scene* HelloWorld::createScene()
 
  {
 
  {
行14: 行14:
 
  bool HelloWorld::init()
 
  bool HelloWorld::init()
 
  {
 
  {
     mStr = "hoge_property2";
+
     mName = "hoge_property2";
     log("%s", mStr);
+
     log("%s", mName);
     mStrStatic = "hoge_property_static2";
+
     mNameStatic = "hoge_property_static2";
     log("%s", mStrStatic);
+
     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()
 +
{
 +
    NativeLauncher::setName("hoge_setget");
 +
    log("%s", NativeLauncher::getName()); // hoge_setget
 
     // 略
 
     // 略
 
  }
 
  }

2017年3月2日 (木) 18:11時点における版

サンプルコード

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

  1. ifndef Helloworld_SampleModule_h
  2. define Helloworld_SampleModule_h
class SampleModule
{
public:
    static void setName(const char*);
    static const char* getName();
};
  1. 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()
{
    NativeLauncher::setName("hoge_setget");
    log("%s", NativeLauncher::getName()); // hoge_setget
    // 略
}