XNA in Silverlight 5.0

24 篇文章 0 订阅
15 篇文章 0 订阅

 

 

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, 0,
                                 graphicsDevice.Viewport.Width,
                                 graphicsDevice.Viewport.Height),
                             Color.White);
            spriteBatch.End();
            // 强制刷新
            e.InvalidateSurface();
        }


 注意: 承载他的页面必须有这么一句

<param name="EnableGPUAcceleration" value="true" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值