zoukankan      html  css  js  c++  java
  • XNA4 Content 不能承受之痛

    XNA4的Content带来的无奈与限制就不提了,重要的是和3.1相比改变了不少,看了一下3.1的骨骼动画的例子,在4上面,才疏学浅的看不出个名堂。

    Effect文件,我已经想办法FQ了,绕过了Content.

    贴图由于SetData接口用的轻车熟路,本来产生了一种VeryEasy的错觉,今天具体看了一下接口,才发现除了SetData之外,没有任何可以利用的东西。

    image

    从SourceForge上找到了一个PNG处理的开源项目,在此鸣谢一下。

    Windows上编译很顺利,注意不能直接使用,一定要建一个XNA Game Lib.

    到WP7 项目一试,心都凉了,System.Drawing 引用了一大堆, Enum.GetValues 不支持 ASCII编码器不支持 连LIST.RemoveAll 也不支持,幸亏我有始终保持两个平台编译测试的习惯。好在System.Drawing 只是用了 Color 类型和 Image来缓存数据,从新实现了这两玩意儿。

    总之是花了一晚上功夫,让Png.net在windows phone7 上能编译通过了。PNG的读取随后测试。

    不禁一阵苦笑,继Pure C#的FreeType 之后,我又要弄一个Pure c#的FreeImage了么?这之后还有模型、骨骼动画、场景、soso…….

    额,我专职去微软XNA部门上班算了。呵呵玩笑了,真能去就是不胜荣幸,现在先让我坚持完成六月中旬一个简单的3D引擎的小目标。

    完全抛弃Content会带来很多的便利。我不要做任何资源修改还得经过编译时的玩意折腾一把。FreeImage也好,Fbx解析的轮子再造一遍也好。其他的基础工作也好,都是不可回避的。coding的工作和资源的工作要完全隔离开,这,才是专业。

    简言之,我一个游戏程序的开发结束后,交给美术。美术只要用编辑器就可以继续游戏的资源修改和优化,无需再回到程序来编译,写资源管道这种无谓的东西,究竟是把XNA定位成个人开发的玩具呢,还是玩具呢,还是玩具呢?

    在流程不变的情况下,策划也可以改几个配置文件,用编辑器摆弄摆弄来调试玩法,总是回到程序的手里,资源管道到底带来了什么便利性,我是相当的疑惑。既然微软你已经把XNA变成了window phone 7 上的唯一,你不能指望我们都用小工作室方式来开发吧。

    在windows 环境下测试通过

    image image image

    令人遗憾的是alpha通道没有,这要阅读一下代码再说了

    Texture2D FromStream(GraphicsDevice graphicsDevice, Stream stream);

    这个也是应该好好测试一下的接口,说不定没有Effect的那个那么恶心。

    测试结果。。。再见PngNet

    Texture2D.FromStream  是可以直接读取正常的PNG GIF JPG,比Effect那个无谓的奇怪格式要正常了很多。

    愚蠢了,没有仔细关注这个代码,浪费了几个钟头专程去绕路。。。。。。。

  • 相关阅读:
    D3D中的Alpha颜色混合(1)
    最小的MFC程序
    命名空间规则【内部】
    能登陆QQ,打不开网页
    .net重要的开源组件[更新中]
    validateRequest="false"属性及xss攻击
    RSS介绍
    Virtual、Override和New关键字的使用
    SQL语句精妙集合
    绝好的软件集合
  • 原文地址:https://www.cnblogs.com/crazylights/p/1868485.html
Copyright © 2011-2022 走看看