`
wangshu3000
  • 浏览: 135812 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

PSP程序开发例子解析(六)TrueTypeFont

阅读更多
按照Windows的ttf字体显示文字。。跑不起来 略
#include <stdio.h>

#include <JGE.h>
#include <JRenderer.h>
#include <JLBFont.h>
#include <JGBKFont.h>
#include <JSoundSystem.h>

#include <JTTFont.h>
#include <Encoding.h>

#include "GameApp.h"

GameApp::GameApp()
{

mTTFont1 = NULL;
mTTFont2 = NULL;
mTTFSmall = NULL;

}


GameApp::~GameApp()
{
}


void GameApp::Create()
{

mTTFont1 = new JTTFont();//JTTFont类 包装ttf字体文件 提供对字体的访问
mTTFont1->Load("BorisBlackBloxx.ttf", 64);//加载ttf文件 64号字体

mTTFont2 = new JTTFont();   
mTTFont2->Load(mTTFont1, 20);   // Create the 2nd font using font info and data from the 1st one, but with a different size.

mTTFSmall = new JTTFont(JTTFont::CACHE_IMAGE_512x512);      // We want to cache all the ASCII characters so we specify a large cache image.
mTTFSmall->Load("steelfib.ttf", 32, JTTFont::MODE_PRECACHE_ASCII);   // Load font and cache all the ASCII characters at the same time.
mTTFSmall->Unload();              // Since we have all the characters we need in the cache, we can delete the 
                    // font bitmap to save some memory.

}


void GameApp::Destroy()
{

SAFE_DELETE(mTTFont1);
SAFE_DELETE(mTTFont2);
SAFE_DELETE(mTTFSmall);

}


void GameApp::Update()
{

JGE* engine = JGE::GetInstance();

if (engine->GetButtonClick(PSP_CTRL_TRIANGLE)) // do a screen shot when TRIANGLE is pressed
{
   char s[80];
   sprintf(s, "ms0:/screenshot.png");
   JRenderer::GetInstance()->ScreenShot(s);
}

if (engine->GetButtonClick(PSP_CTRL_CROSS))   // exit when the CROSS is pressed
{
   engine->End();
   return;
}

}


void GameApp::Render()
{

JRenderer* renderer = JRenderer::GetInstance();

renderer->EnableTextureFilter(false);

renderer->ClearScreen(ARGB(0,0,0,0));

mTTFont1->SetColor(ARGB(255,255,255,255));
mTTFont1->RenderString("Hello(Size 64)", 10, 10);

mTTFont2->SetColor(ARGB(255,255,255,255));
mTTFont2->RenderString("G'day ! (Size 20)", 10, 96);

mTTFont2->SetColor(ARGB(255,255,0,0));
mTTFont2->RenderString("I am HOT!", 310, 100);

mTTFSmall->SetColor(ARGB(255,255,64,255));
mTTFSmall->RenderString("She sells sea shells on the seashore. (Size 32)", 10, 200);

mTTFont1->SetColor(ARGB(192,0,0,255));
mTTFont1->RenderString("SO COOL!", 50, 120);

mTTFont1->SetColor(ARGB(96,0,128,0));
mTTFont1->RenderString("SO COOL!", 55, 125);

}


void GameApp::Pause()
{
}


void GameApp::Resume()
{
}

 

分享到:
评论

相关推荐

    psp 游戏开发编程基础(英)

    六、PSP 游戏开发的步骤 PSP 游戏开发的步骤包括以下几个方面: 1. 编写源代码:使用 C 语言编写游戏的源代码。 2. 编译源代码:使用 toolchain 编译器将源代码编译成 object 文件。 3. 链接 object 文件:使用 ...

    PSP 程序设计基础

    综上所述,PSP程序设计基础不仅涵盖了PSP的历史发展脉络、硬件架构细节,还包括软件开发环境及调试方法等多个方面。对于初学者来说,了解这些基础知识将有助于更好地掌握PSP开发技能,为未来的项目开发打下坚实的...

    PSP编程开发环境的建立

    【PSP编程开发环境的建立】涉及的主要知识点是PSP(PlayStation Portable)软件的开发流程,这包括在Visual Studio 2008(VS2008)和Eclipse集成开发环境中设置PSP的开发环境,以及编写和编译PSP程序的基本步骤。...

    PSP程序开发 pspdev

    pspdev,有需要的下。 很好的一个psp编程工具 psp编程必备。

    psp开发工具miro lua

    【PSP开发工具Miro Lua】是一款专为PSP(PlayStation Portable)平台设计的lua脚本开发环境,它为LUA爱好者提供了在PSP上编写、测试和运行lua程序的便利工具。LUA是一种轻量级的脚本语言,因其简洁的语法和强大的...

    psp 中文输入程序 源代码

    标题中的“psp 中文输入程序 源代码”指的是为PlayStation Portable(PSP)游戏掌机开发的中文输入法软件的原始编程代码。PSP是一款由索尼公司推出的便携式多媒体设备,它允许用户运行游戏、播放媒体以及进行其他...

    psp5.50直接升级6.60程序

    标题中的“psp5.50直接升级6.60程序”指的是PlayStation Portable(PSP)游戏设备的固件升级过程。PSP是一款由索尼公司推出的掌上游戏机,其系统固件版本的更新旨在提供新功能、优化性能以及修复已知问题。在这个...

    程序段前缀介绍与返回DOS

    ### 汇编语言返回DOS系统方法:程序段前缀(PSP)与返回机制 #### 一、程序段前缀(PSP)介绍 在早期的个人计算机操作系统中,特别是MS-DOS环境下,程序段前缀(Program Segment Prefix, PSP)扮演着极其重要的角色。PSP...

    PSP SDK,PSP 开发包,PSP 的好东东

    PSP SDK(Software Development Kit)则是为开发PSP游戏和应用程序提供的核心工具集,它包含了编译器、库文件、头文件、文档、示例代码以及调试工具等,使得开发者能够创建自己的PSP软件。 **PSP SDK中的关键组成...

    psp development with eclipse

    2. **Eclipse**:一个强大的C/C++集成开发环境(IDE),用于编写、编译及调试PSP程序。 3. **Blender3D**:一个开源的3D建模工具,用于创建游戏中的3D资产。 这些工具构成了一个完整的PSP游戏开发流程。 #### ...

    使用eclipse调试PSP程序.pdf

    ### 使用Eclipse调试PSP程序的关键知识点...通过上述步骤,开发者可以有效地使用Eclipse 对PSP 程序进行调试,提高开发效率并减少错误。这对于从事PSP 游戏开发或者其他基于PSP 平台的应用开发的人员来说是非常有用的。

    PSP降级工具

    6.XX Downgrader是一款给官方系统的PSP进行降级的程序,使用它能够将6.31/6.35/6.38/6.39/6.60官方系统的PSP降级至6.20/6.35系统。 现在6.60系统也终于能够通过降级来安装自制系统了! 使用方法: 1.把6.20...

    PSP HACKS PSP破解开发的书

    Develop for the PSP,看看国外同国内对PSP的距离,是一本学习PSP编程的书。

    psp 6.60升级程序

    psp 6.60升级程序,适合从3.71m33 升级到6.60,把程序放到/psp/game/update文件夹内

    软件开发过程psp课件

    《软件开发过程PSP:构建高效能的个人开发体系》 在软件开发领域,PSP(Personal Software Process,个人软件过程)是一种系统化的方法,旨在提高软件工程师的生产力和软件质量。PSP作为SEI(Software Engineering ...

    Hacking the PSP

    国外一个教授用psp做并行计算的书 Chapter 1: Introduction Chapter 2: Overview of the PSP Chapter 3: Quickies Chapter 4: Taking Apart Your PSP Chapter 5: Getting Online: Configuring Your PSP for ...

    PSP刷机.rar psp2000和psp3000都亲自试验过,没问题,

    标题中的"PSP刷机.rar"指的是为PlayStation Portable(PSP)掌上游戏机进行固件更新或系统修改的过程,通常是为了安装自制软件、增强功能或者运行未授权的游戏。这个压缩包文件可能包含了用于刷机的所有必要工具和...

    PSP自制软件开发利器,JGE 1.0 第3部分(由于太大分卷压缩)

    PSP自制软件开发利器,JGE 1.0 第3部分(由于太大分卷压缩)

    BFMLoaderV100_PSP_

    BFMLoaderV100_PSP_ 是一个专为PSP(PlayStation Portable)平台设计的软件加载器,由西方科学团队开发。这个加载器的主要功能是处理和加载BFM格式的文件,BFM全称可能是"Binary Format for Multimedia"或类似的...

    PSP USB驱动 Type B

    这个驱动程序处理了硬件层面上的数据传输,允许用户传输游戏、音乐、视频等文件到PSP,或者使用PSP作为存储设备。值得注意的是,系统默认支持的USB驱动可能是针对Type-C接口,但有些特定的应用,如PSPdisp,可能需要...

Global site tag (gtag.js) - Google Analytics