here is my code, I basically want a simple sprite with some top down movement, but I just can't make sprite show up on screen.
C++:
#include <nds.h>
#include <gl2d.h>
#include <stdio.h>
#include <nf_lib.h>
#include <nf_sprite256.h>
//player vars
float playerX = 0;
float playerY = 0;
int playerW = 16;
int playerH = 16;
int playerSpeed = 2;
void playerMovement(){
//moves the player
u32 keysDown = keysHeld();
if (keysDown & (KEY_LEFT | KEY_RIGHT | KEY_UP | KEY_DOWN)) {
if (keysDown & KEY_LEFT) {
playerX-=playerSpeed;
} else if (keysDown & KEY_RIGHT) {
playerX+=playerSpeed;
} else if (keysDown & KEY_DOWN) {
playerY+=playerSpeed;
} else if (keysDown & KEY_UP) {
playerY-=playerSpeed;
}
}
if(keysDown){
if (keysDown & KEY_UP){
if (keysDown & KEY_RIGHT){
playerY-=playerSpeed/2;
playerX+=playerSpeed/8;
}
}
if (keysDown & KEY_UP){
if (keysDown & KEY_LEFT){
playerY-=playerSpeed/2;
playerX-=playerSpeed/8;
}
}
if (keysDown & KEY_DOWN){
if (keysDown & KEY_RIGHT){
playerY+=playerSpeed/2;
playerX+=playerSpeed/8;
}
}
if (keysDown & KEY_DOWN){
if (keysDown & KEY_LEFT){
playerY+=playerSpeed/2;
playerX-=playerSpeed/8;
}
}
}
}
int main(void) {
NF_SetRootFolder("NITROFS");
NF_Set2D(0, 0);
swiWaitForVBlank();
// Initialize the Tiled Sprites System on the Bottom Screen
NF_InitSpriteBuffers();
NF_InitSpriteSys(0);
NF_LoadSpriteGfx("player",0,16,16);
NF_LoadSpritePal("palette",0);
NF_VramSpriteGfx(0,0,0,false);
NF_VramSpritePal(0,0,0);
NF_CreateSprite(0,0,0,0,playerX,playerY);
NF_SpriteOamSet(0);
swiWaitForVBlank();
oamUpdate(&oamMain);
while(1) {
scanKeys();
glBegin2D();
//render player
NF_CreateSprite(0,0,0,0,playerX,playerY);
playerMovement();
NF_SpriteOamSet(0);
swiWaitForVBlank();
oamUpdate(&oamMain);
}
}