2016-04-07 12 views
0

私が開発したcocos 2dxゲームでスプライトのテクスチャを取得textureFilenameが保護されているので、どうすれば解決できるのですか?それが動作しない場合、私は何を試すことができますか?私はタップとアニメーションが実行される画面上のボタンがあるので、私はそれを滑らかにしたい。つまり、アニメーションが再びテーピングするときに、アニメーションが再び開始されるのではなく、現在のポイントから始まるということです。ている私は次のコードしようとしているそのため、現在の<code>texture name</code>を取得したいココス2dx

+0

ファイル名/テクスチャをベクトルインスタンス変数に保持しますか?インデックスインスタンス変数も必要になりますので、ベクトルのどの要素が現在使用されているかを知ることができます。 – trojanfoe

+0

もう一度、スプライトの現在のアニメーションフレームを取得する方法はありますか? @trojanfoe –

+0

あなたがそれを設定すると、あなたはそれを知るでしょう。あなたがそれを定義しているときに、現在のフレームが何であるかについての謎はありません。 – trojanfoe

答えて

0

_textureFilename変数にアクセスする場合は、CCSpriteFrame.hファイルを変更する必要があります。

まずあなたが今あなたがCCSpriteFrame.hファイルの先頭に貼り付けする必要が

protected: 
    Vec2 _offset; 
    Size _originalSize; 
    Rect _rectInPixels; 
    bool _rotated; 
    Rect _rect; 
    Vec2 _offsetInPixels; 
    Size _originalSizeInPixels; 
    Texture2D *_texture; 
    std::string _textureFilename; 
    PolygonInfo _polygonInfo; 

そして、このコード

std::string _textureFilename; 

から線の下にカットを提出CCSpriteFrame.hでこのコードを見つける必要がありますPublic Sc​​opeは定義されています。

class CC_DLL SpriteFrame : public Ref, public Clonable 
{ 
public: 

    std::string _textureFilename; 

私はあなたを助けてくれることを願っています。ありがとう。

+0

これはかなり悪い考えであり、終わりのないメンテナンスの問題をほとんど起こさないでしょう。 – trojanfoe

+0

私はそれが良い考えではないことを知っていますが、時にはそれを行う必要があります。 –

+0

私はちょうど質問された質問のための簡単な解決策を与えています。もしあなたがより良い解決策を持っているなら、それに答えてください。@ trojanfoe。 –

関連する問題