player.h
class player: public cocos2d::Sprite
{
CC_SYNTHESIZE(cocos2d::Vec2, velocity, Velocity);
public:
void setPosition(const cocos2d::Vec2& newPosition);//重置position
static player* createWithSpriteFrameName(const char* spriteFrameName);//創建玩家,是靜態的.
};
========================
player.cpp
TuZi* TuZi::createWithSpriteFrameName(const char* spriteFrameName)
{
player* fighter = new player();
if (fighter)
{
//Sprite* tuziSprite = Sprite::create(spriteFrameName);
fighter->Sprite::create(spriteFrameName);//創建玩家精靈,使用的是傳進來的圖片地址
fighter->autorelease(); //保存引用
Vec2 verts] = {
//該精靈有6個邊.
Vec2(9.00000, -14.00000),
Vec2(-14.00000, -17.00000),
Vec2(-20.00000, 1.00000),
Vec2(-14.00000, 15.00000),
Vec2(8.00000, 17.00000),
Vec2(22.00000, 0.00000)
};
auto body = PhysicsBody::createPolygon(verts, 6);//綁定這6個邊
//設置該物理的碰撞屬性
body->setCategoryBitmask(0x01); //0001
body->setCollisionBitmask(0x02); //0010
body->setContactTestBitmask(0x01);
//設置該物理判定到玩家精靈.
fighter->setPhysicsBody(body);
return fighter;//返回
}
CC_SAFE_DELETE(fighter);
return NULL;
}
以上應該都是沒問題的了.但一到運行時,它確在
GLuint Texture2D::getName() const
{
return _name;
}
此初提出了問題,這應該是在那出了問題了呢.?