buenas: como algunos ya saben estoy avanzando en libnds, mucho de esto gracias a knightfox, te lo agradezco, pero tengo un problema gordo, se crear sprites moverlos, de todo en fin, pero no como borrarlos, he intentado descargarlos de la vram y despues hacerlos invisibles y liberar espacio en la ram, pero nada no me sale, si alguien me puede hechar una mano.
si hace falta enseño como cargo los sprites
gracias
EDIT:
he estado haciendo unas pruebas y resulta que al ahcerlo se me borran todos, lo he hecho como una funcion, haber si alguien me puede hechar una mano, aqui el codigo:
void ODI_BorrarSprite(u8 pantalla, int slot){ if(pantalla==1){ if(sprite_color[pantalla][slot]==1&&sprite_creado[pantalla][slot]==true){ oamSet(&oamMain,sprite_id[pantalla][slot],sprite_x[pantalla][slot],sprite_y[pantalla][slot],sprite_capa[pantalla][slot],sprite_pal[pantalla][slot],tamano[pantalla][slot],SpriteColorFormat_256Color, (void*)spritegfx[pantalla][slot],0,false,true,false,false,false); } if(sprite_color[pantalla][slot]==0&&sprite_creado[pantalla][slot]==true){ oamSet(&oamMain,sprite_id[pantalla][slot],sprite_x[pantalla][slot],sprite_y[pantalla][slot],sprite_capa[pantalla][slot],sprite_pal[pantalla][slot],tamano[pantalla][slot],SpriteColorFormat_16Color, (void*)spritegfx[pantalla][slot],0,false,true,false,false,false); } } if(pantalla==0){ if(sprite_color[pantalla][slot]==1&&sprite_creado[pantalla][slot]==true){ oamSet(&oamSub,sprite_id[pantalla][slot],sprite_x[pantalla][slot],sprite_y[pantalla][slot],sprite_capa[pantalla][slot],sprite_pal[pantalla][slot],tamano[pantalla][slot],SpriteColorFormat_256Color, (void*)spritegfx[pantalla][slot],0,false,true,false,false,false); } if(sprite_color[pantalla][slot]==0&&sprite_creado[pantalla][slot]==true){ oamSet(&oamSub,sprite_id[pantalla][slot],sprite_x[pantalla][slot],sprite_y[pantalla][slot],sprite_capa[pantalla][slot],sprite_pal[pantalla][slot],tamano[pantalla][slot],SpriteColorFormat_16Color, (void*)spritegfx[slot][slot],0,false,true,false,false,false); } } memset((void*)spritegfx[pantalla][slot],0, Sprite_size[pantalla][slot]); if(pantalla==0)memset((void*)((0x06890000) + (sprite_pal[pantalla][slot] << 9)),0, Sprite_size[pantalla][slot]); if(pantalla==1)memset((void*)((0x068A0000) + (sprite_pal[pantalla][slot] << 9)),0, Sprite_size[pantalla][slot]); if(pantalla==0){ oamFreeGfx(&oamSub,(void*)spritegfx[0][slot]); } if(pantalla==1){ oamFreeGfx(&oamMain,(void*)spritegfx[1][slot]); } sprite_creado[pantalla][slot]=false; Sprite[pantalla][slot]=NULL; Sprite_Pal[pantalla][slot]=NULL; Sprite_size[pantalla][slot]=0; Sprite_Pal_size[pantalla][slot]=0; }
Estoy aprendiendo C pero al
Estoy aprendiendo C pero al ver eso no dan ganas de programar para nds xD
Lo que pasa es que en éste
Lo que pasa es que en éste tema hablan de LibNDS, la librería más avanzada para NDS que exprime todo su Hardware, aunque existen otras como PaLib o NFLib en donde los códigos no son tan extensos y si sabes usarlas consigues resultados muy buenos n.n
Eso si no lo sabia Pero si
Eso si no lo sabia Pero si igualmente me resultaría un poco dificil ya que soy coder de Lua y estoy acostumbrado a hacer un image.load y image.blit y con eso ya bliteas una imagen XD
te digo que solo es
te digo que solo es acostumbrarse yo antes solo trabajaba en java, despues solo en basic, despues palib, despues nflib y despues linds, solo ponte y ve viendo al final es cogerle el puntillo y ver muchas veces la pagina http://libnds.devkitpro.org/
Be Libre my Friend.
si
si me acuerdo en los tiempos que tu decias que nunca aprenderias libnds xD por aqullos tiempos se te resistian cosas de palib pero aora nada de nada xD sigue asi.
Mi blog: adriel0000.wordpress.com
un saludo.
Sencillamente, para borrar el
Sencillamente, para borrar el sprite, solo tienes que resetear el OAM de ese Sprite, sin tocar nada de la VRAM
Adaptalo a tu OAM, pero es eso. Otra cosa es gestionar la VRAM, que te tocara hacerlo a mano.
Nuestra web oficial:
http://www.nightfoxandco.com/
Siguenos en facebook:
http://www.facebook.com/pages/NightFox-Co/284338634917917
Por favor, no useis los MP para preguntas, usar el FORO:
http://www.nightfoxandco.com/forum/
Asi nos ahorramos de contestar lo mismo 20 veces.
gracias knightfox, estoy
gracias knightfox, estoy aprendiendo mas contigo, no se como habras aprendido tu.
muchas gracias
Yo aprendi "a ostias", vamos,
Yo aprendi "a ostias", vamos, mirando ejemplos y el metodo de "ensayo y error". No se lo deseo a nadie...
yo aprendo cualquier
yo aprendo cualquier lenguaje, con una guia de funciones, unos ejemplos y algo grande hecho con source code, de ahi consigo crear mis propias cosas, solo aprendo como se hacen las cosas y luego als adapto y las modifico para que funciones como yo quiera
Be Libre my Friend.
si xD
si xD yo todo lo k aprendo tengo que hacerlo asi. No tengo mas remedio. :) suerte.