我正在为我的游戏制作真正开始构建一个简单的通用引擎,并且我正在尝试以某种方式组织和体面地制作我的引擎,这意味着我不希望它成为我扔到一边的东西一旦我完成了我的计划。
我添加要显示的对象,drawObject
s,这些对象可以移动,也可以不移动,并且有动画,或者没有动画。
如果他们确实有动画,我想初始化一个animationSet
,它里面animationSet
会有 xxx 。animationComp
由于我试图保持整洁并且一直致力于对内存和 cpu 使用的“优化”(例如共享已加载的图像指针,以及我想到的任何东西),我不想在数组中要求可能未使用的内存.
所以我animationSetS* animationSet = NULL;
最初计划只在需要我添加的动画的对象上做一个animationSet = animationSetS[spacesINEED];
,即那些不是动画的对象NULL
,因此不使用内存(对吗?)。然后就出现了这个问题!(标题)
struct animationComp {
SDL_Rect* clip;
int clipsize;
};
struct animationSetS {
animationComp* animation;
int currentFrame;
int currentAnimation;
int animationNumber;
};
struct drawObject { // Um objecto.
char* name;
SDL_Surface* surface;
bool draw = true;
float xPos;
float yPos;
bool willMove = false; // 0 - Won't move, 10 - Moves alot, TO IMPLEMENT
bool isSprite = false;
animationSetS* animationSet;
};
我涉猎了很多问题,对此感到抱歉。对于此处的任何澄清回复,我将在接下来的 10 分钟内回复……也许 1 小时?或者更多。谢谢!