make score text show up altho using default font

for now
This commit is contained in:
breadone 2023-03-11 14:36:47 +13:00
parent 22ab9b387f
commit bb4b48b677
2 changed files with 31 additions and 14 deletions

Binary file not shown.

View File

@ -1,6 +1,9 @@
// Simple citro2d sprite drawing example
// Images borrowed from:
// https://kenney.nl/assets/space-shooter-redux
/*
Flappy Bird for 3DS
Created by breadone on 2023-03-05
*/
#include <citro2d.h>
#include <assert.h>
@ -8,6 +11,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>
#include "sprites.h"
@ -45,8 +49,12 @@ static void initSprites() {
// big number positions
for (size_t i = 1; i < 10; i++) {
C2D_SpriteSetPos(&sprites[i].spr, 80, 115); // a guess
C2D_SpriteSetPos(&sprites[i].spr, 260, 100); // a guess
}
// set bottom screen scorecard
C2D_SpriteSetCenter(&sprites[SPR_SCORECARD].spr, 0.0, 0.0);
C2D_SpriteSetPos(&sprites[SPR_SCORECARD].spr, 2, 40);
}
void moveSprite(Sprite *spr, s16 dx, s16 dy) {
@ -79,6 +87,15 @@ int main(int argc, char* argv[]) {
C3D_RenderTarget* top = C2D_CreateScreenTarget(GFX_TOP, GFX_LEFT);
C3D_RenderTarget* bottom = C2D_CreateScreenTarget(GFX_BOTTOM, GFX_LEFT);
// Load fonts and text
C2D_TextBuf g_staticBuf;
C2D_Text scoreText;
C2D_Font font;
g_staticBuf = C2D_TextBufNew(4096);
font = C2D_FontLoadSystem(CFG_REGION_EUR);
C2D_TextFontParse(&scoreText, font, g_staticBuf, "0");
// Load graphics
spriteSheet = C2D_SpriteSheetLoad("romfs:/gfx/sprites.t3x");
if (!spriteSheet) {
@ -95,17 +112,8 @@ int main(int argc, char* argv[]) {
// set bg properties
C2D_SpriteSetPos(&sprites[SPR_BG].spr, 200, 120); // center bg
C2D_SpriteSetScale(&sprites[SPR_BG].spr, 2.7778, 2.7907); // scale image to 400x240 (3ds screen res)
// set bottom screen scorecard
C2D_SpriteSetCenter(&sprites[SPR_SCORECARD].spr, 0.0, 0.0);
C2D_SpriteSetPos(&sprites[SPR_SCORECARD].spr, 2, 55);
C2D_TargetClear(bottom, C2D_Color32f(0.3294f, 0.7529f, 0.7882f, 1.0f));
C2D_SceneBegin(bottom);
drawSprite(SPR_SCORECARD);
// score sprite & int
int score = 0;
Sprite scoreSprite;
// Main loop
while (aptMainLoop()) {
@ -129,6 +137,11 @@ int main(int argc, char* argv[]) {
score++;
}
// make score text
char scoreString[(((sizeof score) * CHAR_BIT) + 2)/3 + 2];
sprintf(scoreString, "%d", score);
C2D_TextFontParse(&scoreText, font, g_staticBuf, scoreString);
// Render the scene
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
@ -139,7 +152,11 @@ int main(int argc, char* argv[]) {
C2D_TargetClear(bottom, C2D_Color32f(0.3294f, 0.7529f, 0.7882f, 1.0f));
C2D_SceneBegin(bottom);
// drawSprite(SPR_SCORECARD);
drawSprite(SPR_SCORECARD);
// C2D_DrawSprite(&scoreSprite->spr);
C2D_DrawText(&scoreText, 0, 260, 100, 0.0f, 1, 1);
C3D_FrameEnd(0);
}