-1
Ich habe Klasse-Spieler wie folgt definiert:Cocos2d-x V3 Wie überschreibt man :: create() richtig?
"Player.h"
#ifndef PLAYER_h
#define PLAYER_h
#include "cocos2d.h"
USING_NS_CC;
class Player: public Sprite {
public:
Player();
~Player();
private:
Sprite *playerSprite;
__String name;
int maxHP;
int currHP;
int maxMP;
int currMP;
int maxEXP;
int currEXP;
};
#endif
und "Player.cpp":
#include "Player.h"
I int MaxHP, int maxMP initialisieren möchten. . etc nach
Player* myPlayer = Player::create();
Was wäre der richtige Weg, um zu überschreiben :: create() func mit Parametern wie
// create(int maxHP, int currHP, int maxMP, int currMP, int maxEXP, int currEXP)
Player* myPlayer = Player::create(100, 100, 100, 100, 100, 100);
kann verwendet werden?
Warum Spieler in einer 'create' statischen Funktion erstellen, wenn Sie es im Konstruktor tun können? Sie sollten mit den Zeigern aufhören und RAII verwenden. –
Warum erbt Ihr Player auch 'Sprite' und enthält es? –
@Ivan Rubinson Wie kann ich dieser Klasse ein Sprite zuweisen? Ich bekomme diese Sprite-Vererbung nicht ganz. –