2

https://github.com/sneakyness/SneakyInputの github でホストされている Sneakyness / SneakyInput というプロジェクトを移植しています。cocos2d-iphone の目的の c にあります。これを c++ に移植して cocos2d-x で使用したいと考えています。SneakyJoystick.h の where のようなプロパティ @property (nonatomic, readonly) CGPoint stickPosition;CGPoint stickPosition、既に定義されている変数です。私は通常、この変数を次のように定義していますが 、C++ コードで記述すべきか、そのままにしておくべきかCCPoint stickPosition;について非常に混乱して います。@property (nonatomic, readonly) CGPoint stickPosition;

4

1 に答える 1

1

C ++のコードがある場合は、そのまま(C ++)のままにして、Objective-Cと問題なく対話できます。

代わりに、すべてをObjective-Cに書き直すことを意図している場合は、C++のプロパティの代わりにObjectiveCプロパティを配置する必要があります。

C++のプロパティ

private: 
    int x; 
public:  
    int getX()
    {
        return x;
    }
    void setX(int value) 
    {
        x = value;
    }   

Objective-Cのプロパティ

@property(nonatomic) int x;

@synthesize x;

Objective-Cのプロパティ宣言は2つのファイル@propertyに分割されていることに注意してください。はヘッダーファイル(.h)に、@synthesizeは実装ファイル(.m)になります。

@property方法と@synthesize動作をよりよく理解するには、アップルが宣言したプロパティのドキュメントおよび/またはこの他の質問を参照してください。

于 2012-08-11T07:30:53.380 に答える