PSP软件开发用什么语言?

游戏一般用C++开发

但是游戏主机的开发一般都需要相关的套件。

而且周期长,一个人很难做到。

PSP程序开发实例分析(二)图片2008-07-03 20:46第二个例子展示了如何在屏幕上画图,并附上几个简单的代码,源代码改动不大。

1.header GameApp.h

#ifndef _GAMEAPP_H_

#define _GAMEAPP_H_

# include & ltJApp.h & gt

JQuad类;//JQuad定义一张图片上的显示范围,比如很多小图片保存为一张大图片,在大图片上指定显示坐标。

JSprite类;//动画好像没什么用。

JTexture类;//读取一张图作为JTexture = =!我不知道里面有什么。没有可以阅读的文件。

类GameApp: public JApp

{

私人:

JTexture * mBgTex//整个背景的图片

JTexture * mSpriteTex//两个人的照片

JQuad * mBg//定义整个背景的大小。

JQuad * mBoy//人物图片中男孩的大小

JQuad * mGirl//人物图片中女孩的大小。

公共:

game app();

virtual ~ game app();

虚拟void Create();

虚拟void Destroy();

虚拟void Update();

虚拟void Render();

虚拟void Pause();

虚拟void Resume();

};

#endif

2.源文件GameApp.cpp

# include & ltstdio.h & gt

# include & ltJGE.h & gt

# include & ltJRenderer.h & gt

# include & ltJLBFont.h & gt

# include & ltJSprite.h & gt

# include & ltJFileSystem.h & gt

#包含“GameApp.h”

GameApp::GameApp()

{

mBgTex = NULL

mBg = NULL

mSpriteTex = NULL

mBoy = NULL

mGirl = NULL//将其设置为NULL。有什么意义?

GameApp::~GameApp()

{

}

//程序启动

void GameApp::Create()

{

j renderer * renderer = j renderer::GetInstance();

//加载背景纹理(纹理格式可以是PNG、JPG或GIF)

mBgTex = renderer-& gt;load texture(" BG . jpg ");//PNG JPG GIF开发的API可以很好的封装初始化和加载背景图片。所有的高级API都提供了,底层什么都没有暴露= =!看来之前在图像处理上想的太多了,100M应该可以运行一个3D游戏,所以不要太在意内存消耗,不要泄露。

//加载角色的纹理(使用TEX_TYPE_USE_VRAM将纹理加载到PSP上的VRAM中,这样可以加快渲染速度)

mspritex = renderer-& gt;LoadTexture("planet.png ",TEX _ TYPE _ USE _ VRAM);//使用此参数加速。

//JQuad在BgTex上定义了一个从左上角到右下角的范围,知道PSP屏幕的尺寸是480*272。

mBg = new JQuad(mBgTex,0,0,480,272);//创建用于呈现的背景四边形。

//现在让我们为角色创建图像四边形。这两个字符存储在一个纹理中

//所以我们要知道每一个的位置和大小来做四边形。

mBoy = new JQuad(mspritex,0,0,67,88);//同时定义男孩区域的范围。

mBoy-& gt;SetHotSpot(33.5f,44.0 f);//将轴心点设置为中间。定义这张图片的核心坐标,这里定义为旋转时中心绕中心旋转。

mgi rl = new JQuad(mspritex,68,0,68,90);//女生的照片从68年开始就和男生的照片交叉了。

mgi rl-& gt;SetHotSpot(34.0f,45.0 f);//同时将中心设置为热点。

}

void GameApp::Destroy()

{

SAFE _ DELETE(mbg tex);//调用了JTypes.h中的一个宏:# define safe _ delete(x)if(x){ delete x;x =空;}另一篇文章说发布JTexture需要什么引擎。什么应该有同样的效果?minengine->;免费音乐(mMusic);

SAFE _ DELETE(mBg);

SAFE _ DELETE(mspritex);

SAFE _ DELETE(mBoy);

SAFE _ DELETE(mgi rl);

}

//更新方法没有改变。

void GameApp::Update()

{

JGE*引擎= JGE::GetInstance();

如果(引擎->;GetButtonClick(PSP _ CTRL _ TRIANGLE))//按下三角形按钮时截屏

{

char s[80];

sprintf(s," ms0:/snapshot . png));

j renderer::GetInstance()-& gt;屏幕截图;

}

如果(引擎->;GetButtonClick(PSP _ CTRL _ CROSS))//按下十字按钮时退出

{

引擎->;end();

返回;

}

}

void GameApp::Render()

{

j renderer * renderer = j renderer::GetInstance();

渲染器-& gt;RenderQuad(mBg,0,0);//详细画出画面,画出整个背景画的范围mBg,JQuad。

渲染器-& gt;RenderQuad(mBoy,33.5,44,0.0f,1.0f,1.0f);//渲染的时候把字符缩小一点。

渲染器-& gt;RenderQuad(mGirl,320,235,0.0f,0.7f,0.7f);//参数分别是X点和Y点。从左上角开始,0.0f是旋转角度。我不明白这是什么单位。0.7f和0.7f是X轴和Y轴的缩放比例。1基于原始大小。降低了0.7f。

睡眠(1);//我加了纯粹是为了减少CPU占用,不然一运行CPU就满了。PSP里好像不支持这个功能。

}

void GameApp::Pause()

{

}

void GameApp::Resume()