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

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.

主站蜘蛛池模板: 宣汉县| 广昌县| 清流县| 伊金霍洛旗| 定远县| 泰宁县| 固原市| 金乡县| 彰化县| 崇仁县| 新乐市| 兰州市| 嘉祥县| 尼玛县| 黑河市| 嵩明县| 黑山县| 柳州市| 板桥市| 开原市| 乾安县| 怀安县| 平原县| 临朐县| 尚志市| 信丰县| 邯郸县| 濉溪县| 开封市| 新泰市| 榆树市| 昌江| 库伦旗| 东丽区| 云龙县| 永州市| 峡江县| 怀安县| 罗定市| 大厂| 马关县|