Xna环境在PC平台下的功能扩展
来源:互联网 发布:掷骰子软件 编辑:程序博客网 时间:2024/06/13 14:02
如大家所知,DirectX与Xna之间有着千丝万缕的联系,而后者更侧重于跨平台,于是便在前者的基础上砍掉了部分PC的专属功能,新增了一些各平台通用的功能。
如果仅仅是使用Xna写PC平台下的游戏,而不考虑跨平台问题。我们依然可以通过某些手段,重拾部分PC功能,但要切记,这些功能为PC专有,不满足跨平台的需要。
1.Xna播放视频文件(借助ManagedDirectX)
using Microsoft.DirectX.AudioVideoPlayback;
using System.Windows.Forms;
Video video;
string videoFile = "clock.avi";
video = new Video(videoFile);
video.Owner = Form.FromHandle(this.Window.Handle);
video.Owner.Size = new System.Drawing.Size(1024,768);
video.Size = new System.Drawing.Size(1024, 768 - 30); // 30是窗口任务栏的高度
video.Play();
Xna目前貌似还没有现成的视频管线,要自己实现的话具备相当的难度。如果是PC平台下,则可使用这个现成的方法。
2.Xna播放音频文件(借助ManagedDirectX)
using Microsoft.DirectX.AudioVideoPlayback;
Audio audio;
string mp3File = "HunDouLuo.mp3";
audio = new Audio(mp3File);
audio.Play();
Xna2.0之前仅支持wav的音频播放,3.0、3.1具备了支持MP3的内容管线。如果要播放MP3,而又不借助于Xna的内容管线,可以用这个方法。
3.Xna绘制中文字体(借助Gdi+)
少量灵活的字体或者效率要求不高时,可以采用这个方法。参看我以前的文章即可。
如下是一些常见的Xna类型与WinApp类型间的平行接口,熟练掌握有利于更加灵活的扩展Xna环境在PC平台下的功能。
1. GameWindow <==> Control
Control = Form.FromHandle(GameWindow .Handle);
2. Texture2D <==> MemoryStream
Texture2D = Texture2D.FormFile(GraphicsDevice, MemoryStream);
Xna在PC平台下常用的初始化操作总结:
1.设置鼠标可见,且感应游戏窗口操作
Mouse.WindowHandle = this.Window.Handle;
this.IsMouseVisible = true;
2.修改游戏窗口大小
graphics.PreferredBackBufferWidth = 1280;
graphics.PreferredBackBufferHeight = 720;
3.设置全屏效果
graphics.IsFullScreen = true;
- Xna环境在PC平台下的功能扩展
- cocos2d-x xna在有vs2012和vs2010的情况下的环境部署
- 卸载ubuntu平台下virtualbox的扩展功能包
- SHEMOX在PC环境下的启动过程。
- 使用boch仿真器在x86 PC平台上搭建Linux0.11系统环境(windows下)
- 怎样扩展PHP的其它功能(windows环境下)
- 怎样扩展PHP的其它功能(windows环境下)
- 手机平台的PC模拟环境
- 在PC上运行的Cocos2d-x for XNA “Hello world”
- 在Windows环境下进行PHP扩展的开发
- 让 “Thread_example1.pc” 代码在 Linux 平台下编译运行
- [UE4]PC环境下的手柄输入
- 在Linux平台的Eclipse下搭建Android环境
- 在linux平台下Asterisk环境搭建的过程
- 在Linux平台的Eclipse下搭建Android环境
- 在linux环境下安装php扩展
- 在PC环境下用VS2005编译供Windows使用的libpng和zlib库
- 在PC环境下用VS2005编译供Wince6.0使用的libpng和zlib库
- iosDev begin
- 架构方法论
- EXECUTE IMMEDIATE及Using的使用方法
- 《ASP.NET本质论》HTTP请求处理程序
- 硬件参数 调整 麦克风MIC灵敏度 原理
- Xna环境在PC平台下的功能扩展
- Jetty
- linux下socket的close和shutdown
- C#DataGridView中的常用技巧
- 关于AnnotationSessionFactoryBean和LocalSessionFactoryBean的区别
- 如何让plsql查询的数据可编辑
- 网络流经典24题之前三题
- ccie考试
- shell调用shell,列出服务器进程和文件的头15行