示例#1
0
// Destructor clase CSprite
CSprite::~CSprite(void) {

	if(_idScreen >= 0)
		removeFromScreen();
	if(_idVRam >= 0)
		removeFromVRam(false);
	if(_idRam >= 0)
		removeFromRam();

	//NF_DeleteSprite(getScreen(), getIdScreen()); // delete from screen
	//NF_FreeSpriteGfx(getScreen(), getIdVRam()); // delete from vRam
	//NF_UnloadSpriteGfx(getIdRam()); // delete from ram
	
	delete _palette;
	delete _size;
	delete _position;
}
示例#2
0
sr_Error addToScreen(sr_Screen * screen, sr_Element * element) {

	sr_Element * elem = screen->elements;

  if(element->class >= maxSrElement)
    return ERR_INVALID_SR_ELEMENT;
  if(isInScreen(screen,element)) {
    removeFromScreen(screen,element);
  }

  if(screen->elements == NULL) {
    screen->elements = element;
  } else {

    while(elem->next != NULL) {
      elem = elem->next;
    }

    elem->next = element;
  }

  return ERR_NO_ERR;
}