可以通过FrmGetInput函数来获取输入事件。
- VOID CSample::Update()
- {
- UINT32 nButtons;
- UINT32 nPressedButtons;
-
- FrmGetInput( &m_Input, &nButtons, &nPressedButtons );
- if( nButtons & INPUT_KEY_0 )
- {
-
- }
- }
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
4、资源包
可以通过打包工具ResourcePacker将纹理的资源文件打包成.pak文件,自动将TGA、BMP、JPG等格式的文件转换为OpenGLES使用的纹理格式(比如ATC等)。在运行时可以通过CFrmPackedResource 类动态加载访问。
- CFrmPackedResource resource;
- if( FALSE == resource.LoadFromFile( "Media\\Textures.pak" ) )
- return FALSE;
- ....
- CFrmTexture* pLogoTexture = resource.GetTexture( "Logo" );
- }
-
- 1
- 2
- 3
- 4
- 5
- 6
5、文字渲染
可以通过工具FontMaker 将文字光栅化成bitmap图像文件,会输出三个文件:TGA图像文件、字体数据文件、xml描述文件。然后可以通过ResourcePacker将这三个文件打包成.pak格式文件,用来动态加载显示文字信息。
- CFrmFont Font;
- BOOL bResult = Font.Create( "Media\\Fonts\\SomeFont16.pak" );
- ...
- Font.DrawText( 10, 10, FRMCOLOR_WHITE, "Draw this text." );
-
- 1
- 2
- 3
- 4
6、几何网格
Framework提供了一种保存几何网格的数据结构,这个比较复杂,后面我们会专门讨论。
- CFrmMesh Mesh;
- if( FALSE == Mesh.Load( "Media\\Meshes\\Test.mesh" ) )
- return FALSE;
-
- if( FALSE == Mesh.MakeDrawable( &resource ) )
- return FALSE;
-
- 1
- 2
- 3
- 4
- 5
- 6
7、UI界面
Framework提供一套UI界面实现方案,用户可以通过FrmUserInterface类在渲染场景上显示一个UI界面。
- CFrmFont Font;
- if( FALSE == Font.Create( "Media\\Fonts\\Font.pak" ) )
- return FALSE;
-
- CFrmPackedResource resource;
- if( FALSE == resource.LoadFromFile( "Media\\Textures.pak" ) )
- return FALSE;
-
- CFrmTexture* pTexture;
- pTexture = resource.GetTexture( "Overlay" );
-
- CFrmUserInterface UI;
- if( FALSE == UI.Initialize( &Font, "Title" ) )
- return FALSE;
-
- FLOAT32 fVariable = 10.0f;
- const CHAR* strVariable = "Some value"
- UI.AddHelpFloatVariable( &fVariable, "Var1", "%3.1f" );
- UI.AddHelpStringVariable( &strVariable, "Var2" );
- UI.AddHelpKeyInfo( FRM_FONT_KEY_0, "Toggle Info Pane" );
- UI.AddHelpKeyInfo( FRM_FONT_KEY_1, "Do something" );
- UI.AddHelpKeyInfo( FRM_FONT_KEY_2, "Do something else" );
- UI.AddOverlay( pTexture->m_hTextureHandle, -5, -5, 128, 64 );
-
- ...
-
- UI.Render();
原文地址:http://blog.csdn.NET/cuichuankai/article/details/49660577