1

是否有在 cocos2d-x 中实现的 NSUInteger 宏以用于 Visual C++。我需要这个将项目从 obj-c 移植到 c++。

而且,我已经看到这些变量是在头文件中的变量声明之后编写的:

@property (nonatomic, readonly) CGPoint stickPosition; @property (nonatomic, readonly) float degrees; @property (nonatomic, readonly) CGPoint velocity;
@property (nonatomic, assign) BOOL autoCenter; @property (nonatomic, assign) BOOL isDPad; @property (nonatomic, assign) BOOL hasDeadzone; @property (nonatomic, assign) NSUInteger numberOfDirections;

@property (nonatomic, assign) float joystickRadius; @property (nonatomic, assign) float thumbRadius; @property (nonatomic, assign) float deadRadius;"

在 C++ 中以任何方式编写这些内容是否有用,是否可能?如果有怎么办?

4

1 回答 1

1

NSUInteger 只是最大的无符号整数。在 C++ 中,您可以使用

unsigned long       // when building a 64-Bit OS app
unsinged int        // when building a 32-Bit OS app (ie iOS, Android)

而不是它。或者,为了方便:

typedef unsigned long NSUInteger;
typedef unsigned int NSUInteger;

如果你想用 C++ 表示一个属性,那并不真正属于这个主题——它不依赖于 Cocoa,而是依赖于语言,只需阅读 C++ 书籍的成员变量主题即可解决。就是这样:

class Whatever {
   public:
   CGRect rect;
}

然后像这样访问它:

Whatever *instance = new Whatever();
CGRect r = instance->rect;
于 2012-08-11T04:47:23.800 回答