gpt4 book ai didi

marmalade - 在 Marmalade 中使用 Iw2d 时如何绘制 TrueTypeFont?

转载 作者:行者123 更新时间:2023-12-02 08:44:38 24 4
gpt4 key购买 nike

在使用 Iw2D 完成的游戏中,我想使用 IwGx 模块支持的 TTF 字体。我读到 IwGxFont 模块与 Iw2D 一起使用是可行的,但我一定遗漏了一些东西文字没有出现。它编译并运行,只是没有文本。

代码:

Iw2DInit();
DPI::dpiInit();
IwResManagerInit();
IwGxFontInit();
IwGetResManager()->LoadGroup("IwGxFontTTF.group");
font = (CIwGxFont*)IwGetResManager()->GetResNamed("Serif_6", "CIwGxFont");
...
while (!s3eDeviceCheckQuitRequest()) {
s3ePointerUpdate();
s3eKeyboardUpdate();
if (s3eKeyboardGetState(s3eKeyAbsBSK) & S3E_KEY_STATE_DOWN) {
break;
}

current_time = s3eTimerGetMs();
const float dt = (current_time - last_frame_time)/1000.0f;
last_frame_time = current_time;

Iw2DSurfaceClear(0xffffffff);
game->draw(dt);

IwGxFontSetCol(0xffa0a0a0);
IwGxFontSetRect(CIwRect(10,40,(int16)IwGxGetScreenWidth()-20,40));
IwGxFontSetAlignmentVer(IW_GX_FONT_ALIGN_BOTTOM);
IwGxFontSetFont(font);
IwGxFontDrawText("Lorem ipsum dolor sit amet");
IwGxFlush();
Iw2DSurfaceShow();

s3eDeviceYield(0);
logger.log(dt);
}

最佳答案

给定的代码缺少调用 Iw2DFinishDrawing。应该是:

Iw2DSurfaceClear(0xffffffff);
game->draw(dt);
Iw2DFinishDrawing();

IwGxFontSetCol(0xffa0a0a0);
IwGxFontSetRect(CIwRect(10,40,(int16)IwGxGetScreenWidth()-20,40));
IwGxFontSetAlignmentVer(IW_GX_FONT_ALIGN_BOTTOM);
IwGxFontSetFont(font);
IwGxFontDrawText("Lorem ipsum dolor sit amet");
IwGxFlush();
Iw2DSurfaceShow();

关于marmalade - 在 Marmalade 中使用 Iw2d 时如何绘制 TrueTypeFont?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13421647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com