官术网_书友最值得收藏!

Time for action – adding GameSprite.cpp

From here on, we'll create any new classes inside Xcode, but you could do it just as easily in Eclipse if you remember to update the Make file. I'll show you how to do that later in this chapter.

  1. In Xcode, select the Classes folder and then go to File | New | File and navigate to iOS | Source select C++ File.
  2. Call it GameSprite and make sure the Also create a header file option is selected.
  3. Select the new GameSprite.h interface file and replace the code there with this:
    #ifndef __GAMESPRITE_H__
    #define __GAMESPRITE_H__
    #include "cocos2d.h"
    using namespace cocos2d;
    class GameSprite : public Sprite {
    public:
       CC_SYNTHESIZE(Vec2, _nextPosition, NextPosition);
       CC_SYNTHESIZE(Vec2, _vector, Vector);
       CC_SYNTHESIZE(Touch*, _touch, Touch);
       GameSprite();
       virtual ~GameSprite();
       static GameSprite* gameSpriteWithFile(const char*  pszFileName);
       virtual void setPosition(const Vec2& pos) override;
       float radius();
    };
    #endif // __GAMESPRITE_H__

What just happened?

In the interface, we declare the class to be a subclass of the public Sprite class.

Then we add three synthesized properties. In Cocos2d-x, these are macros to create getters and setters. You declare the type, the protected variable name, and the words that will be appended to the get and set methods. So in the first CC_SYNTHESIZE method, the getNextPosition and setNextPosition method will be created to deal with the Point value inside the _nextPosition protected variable.

We also add the constructor and destructor for our class, and the ubiquitous static method for instantiation. This receives as a parameter, the image filename used by the sprite. We finish off by overriding setPosition from Sprite and adding the declaration for our helper method radius.

The next step then is to implement our new class.

主站蜘蛛池模板: 高淳县| 疏勒县| 南宫市| 比如县| 永顺县| 红安县| 旬邑县| 那曲县| 盐津县| 松潘县| 凤阳县| 溧阳市| 营口市| 榆林市| 宁乡县| 历史| 保山市| 惠东县| 镇赉县| 阿坝县| 界首市| 彝良县| 清徐县| 彭山县| 和顺县| 和静县| 永丰县| 墨竹工卡县| 宜宾市| 玉溪市| 武山县| 香河县| 明水县| 峡江县| 石城县| 兖州市| 开鲁县| 玉山县| 陆川县| 石阡县| 孝义市|