【发布时间】:2014-12-05 21:21:16
【问题描述】:
在下图中(Character.cpp),我可以知道如何只创建一个可以调用来存储多个精灵的 Initialize 方法吗?我是否需要将Texture1、Sprite、PosX、PosY 等更改为数组?
初始化方法将在我的 MAIN.cpp 中调用。抱歉,如果解释不够好。这只是我的想法,但是会有更好的而不是拥有这么多数组吗?
void Character::Initialize1(string image1, float PosX1, float PosY1, float CenterX1, float CenterY1)
{
D3DXCreateTextureFromFile(Pull->GETd3ddev(), image.c_str(), &Texture1);
D3DXCreateSprite(Pull->GETd3ddev(), &sprite1);
RECT SpriteRect1;
SpriteRect1.top = 0;
SpriteRect1.bottom = 127;
SpriteRect1.left = 0;
SpriteRect1.right = 128;
SpritePos1 = D3DXVECTOR2(PosX1, PosY1);
SpriteCenter1 = D3DXVECTOR2(CenterX1, CenterY1);
}
void Character::Initialize2(string image2, float PosX2, float PosY2, float CenterX2, float CenterY2)
{
D3DXCreateTextureFromFile(Pull->GETd3ddev(), image.c_str(), &Texture2);
D3DXCreateSprite(Pull->GETd3ddev(), &sprite2);
RECT SpriteRect2;
SpriteRect2.top = 0;
SpriteRect2.bottom = 14;
SpriteRect2.left = 0;
SpriteRect2.right = 14;
SpritePos2 = D3DXVECTOR2(PosX2, PosY2);
SpriteCenter2 = D3DXVECTOR2(CenterX2, CenterY2);
}
【问题讨论】:
-
@Biffen 对不起。编辑它
-
您可以拥有包含变量的结构数组
标签: c++ arrays class oop directx