xna 游戏页面跳转及中文显示
来源:互联网 发布:淘宝开店考试内容 编辑:程序博客网 时间:2024/05/15 06:23
注意:本页面跳转程序是参考windows phone xna的源码UISample后总结的!
ScreenManager是一个DrawableGameComponent类,在Game类(即XNA for windows phone程序的默认Game类)中添加这样的component可以让这个组件自己和Game协调一致的进行update和draw。然后再通过统一的LoadScreen来作为跳转到其他screen的中间screen,主要是新定义了GameScreen类,然后使用从这个类派生出多个不同类别的Screen类,包括LoadScreen,其中GameScreen基类最主要的是draw等虚函数,这些函数都在具体的子类中实现,并最终由ScreenManager类在完成draw等函数时进行调用。
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
// Frame rate is 30 fps by default for Windows Phone.
TargetElapsedTime = TimeSpan.FromTicks(333333);
screenManager = new ScreenManager(this);
Components.Add(screenManager);
if (!screenManager.DeserializeState())
{
LoadingScreen.Load(
screenManager,
true,
PlayerIndex.One,
new BackgroundScreen("Hills"), new MainMenuScreen()
);
}
}
这里每个GameScreen类都可以响应用户输入,调用GameScreen对象的HandleInput实现输入响应,例如在MenuScreen类中我们可以添加MenuEntry对象,当MenuScreen在进行HandleInput时就可以判断用户点击部分是否与MenuEntry对象有交集,如果有则证明点击到某个MenuEntry,那么就激发点击事件,通过委托,由特定函数完成点击事件的响应,在本例中仅进行页面的跳转。
: base("Main Menu")
{
// Create our menu entries.
// MenuEntry newGameScreen = new MenuEntry("test screen");
MenuEntry newGameScreen = new MenuEntry("中文");
newGameScreen.Selected += NewGamePressed;
MenuEntries.Add(newGameScreen);
}
private void NewGamePressed(object sender, PlayerIndexEventArgs e)
{
LoadingScreen.Load(
ScreenManager,
true,
e.PlayerIndex,
new BackgroundScreen("House"));
}
这里还有个问题,为了在XNA上显示中文,我们还要再自己建个spritFont,具体的方法可以参考马宁老师的文章---
马宁的Windows Phone 7开发教程(4)——XNA显示中文字体
主要过程是这样的(大家还是详细看那篇文章,说得很具体很好):
1 在project内新建一个Text File,命名为messages.txt 这个txt文件就是保存了我们将要使用的中文字体
2 在solution内新建一个content pipeline extension library,命名为fontProcessor,添加必要代码后,进行编译
3 编译完成后在将要引用这个fontProcessor的项目中的Content部分,添加引用,然后再在这个content部分右击Project Dependencies,将FontProcessor前的CheckBox选中。
4 最后新建一个Sprite Font字体,修改content processor为我们刚才所添加的fontprocessor即可使用带中文的字体。
最后大功告成:
点击后来到新页面
本文来自Aga.J的博客,原文地址:http://www.cnblogs.com/aga-j/archive/2011/01/11/1933208.html
- xna 游戏页面跳转及中文显示
- XNA中文显示学习
- XNA中文显示学习
- 让XNA显示中文
- XNA下的中文显示
- 在XNA中显示中文字符
- Xna支持中文显示方法归纳
- XNA游戏:Hello XNA
- jsp页面之间跳转传参及中文乱码问题
- js实现 页面显示系统时间(中文显示星期)、动态倒计时页面跳转
- 页面跳转 传递中文问题
- jsp页面显示及数据库中文乱码问题解决方法
- 显示一个java跳转页面
- 安卓显示页面跳转
- 弹框显示,跳转页面
- 在Servlet中,用this.getServletContext().getRequestDispatcher()跳转后的中文页面显示乱码
- js跳转页面传参,参数值包含中文时显示乱码解决方案
- xna游戏编程
- 一种面向对象思想的形象解释
- UIPageController与UIScrollView的联合使用
- 驿路梅花处处开 --- 梅语
- redis 源码分析(一) 内存管理
- BZOJ 2095 Poi2010 Bridges 二分答案+网络流
- xna 游戏页面跳转及中文显示
- 6、JavaScript高级之继承一(原型链)
- ACM--steps--4.1.5--find the nth digit
- 如何把PDF文件转换成PPT格式的步骤
- 简单到无可说话
- 柴静《穹顶之下》观后感
- 什么是物联网
- hihoCoder:#1082 然而沼跃鱼早就看穿了一切
- IOS类继承关系图