概述 XNA在Silverlight 5.0中变化了,和Silverlight 4.0不一样呢。 Silverlight 4.0中想使用XNA只能是WinPhone7才可以,Silverlight 5.0就不一样了,可以在PC平台上支持XNA开发,也就是说你的网站上可以直接使用XNA开发游戏了! Silverlight 5.0使用XNA超级简单,XAML文件中定义一个DrawingSurfa
XNA在Silverlight 5.0中变化了,和Silverlight 4.0不一样呢。
Silverlight 4.0中想使用XNA只能是WinPhone7才可以,Silverlight 5.0就不一样了,可以在PC平台上支持XNA开发,也就是说你的网站上可以直接使用XNA开发游戏了!
Silverlight 5.0使用XNA超级简单,XAML文件中定义一个DrawingSurface就可以,对应的实现2个函数OnDraw和OnLoaded,然后就结束了。
例如:
XAML文件中定义一个小DrawingSurface如下:
<Canvas>
<DrawingSurface Draw="OnDraw" Loaded="OnLoaded" WIDth="245" Height="222" Canvas.left="50" Canvas.top="86" />
</Canvas>
对应的C#代码中实现2个函数OnDraw和OnLoaded:
ContentManager contentManager;
SpriteBatch spriteBatch;
Texture2D background;
private voID OnLoaded(object sender,RoutedEventArgs e)
{
GraphicsDevice graphicsDevice = GraphicsDeviceManager.Current.GraphicsDevice;
contentManager = new ContentManager(null)
{
RootDirectory = "Content"
};
spriteBatch = new SpriteBatch(graphicsDevice);
background = contentManager.Load<Texture2D>("sunset");
}
private voID OnDraw(object sender,DrawEventArgs e)
{
GraphicsDevice graphicsDevice = GraphicsDeviceManager.Current.GraphicsDevice;
//
graphicsDevice.Clear(color.Black);
// 画一张背景图,盖满 DrawingSurface
spriteBatch.Begin(0,BlendState.AlphaBlend);
spriteBatch.Draw(background,
new Rectangle(0,
graphicsDevice.VIEwport.WIDth,
graphicsDevice.VIEwport.Height),
color.White);
spriteBatch.End();
// 强制刷新
e.InvalIDateSurface();
}
注意: 承载他的页面必须有这么一句
<param name="EnableGPUacceleration" value="true" />
总结
以上是内存溢出为你收集整理的XNA in Silverlight 5.0全部内容,希望文章能够帮你解决XNA in Silverlight 5.0所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)