
XNA
文章平均质量分 51
碎片球球
成为强者!
展开
-
XNA and Windows 7 Multi-touch
牛逼人总是有的。推荐下面的这篇文章,转载自:http://xna-uk.net/blogs/randomchaos/archive/2010/02/10/xna-and-windows-7-multi-touch.aspx我只能景仰。I am pretty sure, that like me you are more than capable of scanning the web转载 2011-10-26 23:21:21 · 2215 阅读 · 0 评论 -
XNA LoadContent()或Initialize()不能够加载成功
编程当中遇到了这个问题,在国外找到了答案。如果GraphicsDeviceManager 没有注册,就不会运行base.Initialize(),进而也不会运行LoadContent(),所以有两种办法解决该问题1.注册GraphicsDeviceManager 正确的注册如下:public class Game1 : Microsoft.Xna.Framework.Game原创 2011-12-08 22:45:14 · 942 阅读 · 0 评论 -
XNA 消锯齿
这一阵子写程序,被人批评,这么大的锯齿。感觉很不爽,哎。查了查,XNA是有个可以消锯齿的方法的。在XNA3.1的帮助里有关于消锯齿的一个范例自己后来搜集了一些原理 参见这篇http://blog.youkuaiyun.com/xuehuic/article/details/5804213 相关内容 :(1)what is antialiasing?Antialiasing is原创 2010-02-25 23:17:00 · 2390 阅读 · 1 评论 -
XNA outofVideoMemoryException
既上一篇文章的问题解决后程序又报了这个错“OutOfVideoMemoryException”,经过来回查找最终发现其实是个简单的原因:每次新建的类中都有个rendertarget 这个类可能每次new一下都会添加到显存里吧,然后关闭这个类时我没有卸载掉,导致不定时的回报这个错误。在全部注掉之后就能够正常运行了。推荐使用GPU-Z,查看显存。原创 2011-12-20 19:52:46 · 866 阅读 · 0 评论 -
OutOfMemoryException问题的处理方式搜集
MSDN上有关OutofMemoryException的介绍:没有足够的内存继续执行程序时引发的异常。命名空间:System程序集:mscorlib(在 mscorlib.dll 中)详见http://msdn.microsoft.com/zh-cn/library/system.outofmemoryexception(VS.80).aspx下面这段有一些小技巧,转自原创 2011-12-15 01:42:17 · 6860 阅读 · 0 评论 -
3D物体识趣及XNA实现原理
拾取原理 (注前面有一篇关于官网的例程的分析) 此篇转自http://www.blue1000.com/bkhtml/2008-09/58064.htm 拾取主要用来表示能过鼠标在屏幕上单击来选中某个3D模型,然后就可以获取这个模型信息,同时也可以对这个模型进行编辑。 拾取算法的主要思想是:得到鼠标点击处的屏幕坐标,通过投影矩阵和观察矩阵把该坐标转换为通过视点转载 2010-10-27 17:33:00 · 940 阅读 · 0 评论 -
XNA 实时切换屏幕全屏、窗口
XNA按F键全屏和窗口的转换 转载自:http://blog.sina.com.cn/s/blog_49f452560100epa7.html#region Using Statementsusing System;using System.Collections.Generic;using Microsoft.Xna.Framework;using转载 2012-02-15 11:53:14 · 2154 阅读 · 0 评论 -
The operation was aborted. XNA error
这两天编程时候遇到的错误,刚开始还运行正确,第二天莫名其妙的报错了The operation was aborted. You may not modify a resource that has been set on a device, or after it has been used within a tiling bracket.这个错误在国内的网页上貌似还搜不到,求助于msdn原创 2012-02-16 11:44:41 · 4209 阅读 · 0 评论 -
Goblin XNA 的安装
最近开始看看Goblin XNA,只是实在没什么事情可干了。没项目什么的最讨厌了。 安装: 1.Google 搜索Goblin XNA 还是蛮准确的,http://goblinxna.codeplex.com/ 这个就是正解了 2.右边有下载了。3.5、3.5.1 下完后一个压缩包,解压。现在最新版的已经是3.6了。翻看哦哈。有说明的。进doc文件夹。看Inst原创 2011-06-20 20:04:00 · 1538 阅读 · 0 评论 -
Bitmap & Texture2D 互转方法搜集
最近学习emgucv,我在写读摄像头的程序然后需要bitmap 转texture2D 其实可以直接使用setdata的方法赋值,感觉帧率不是一般的低,是无法忍受的。也试了多种方法,基本上都是无法忍受的。可能有人会用得到,将搜集的列下来。这是一些方法的搜集。Texture2D toBitmap 的方法 public static Bitmap FastTextureToBitma原创 2012-03-23 11:07:09 · 16388 阅读 · 6 评论 -
Neoforce Control 的安装
作为偶像派XNA插件,还是很有可用市场的。效果非常绚丽。下载地址:http://neoforce.codeplex.com/releases/view/52549当前版本已经跟上了XNA4.0. 安装过程:1.下载并解压缩。2.到目录{EXTRACTED_FOLDER}\Neoforce\Source下3.打开Neoforce.sln 或者Neoforce360.sln原创 2012-04-18 23:09:44 · 1251 阅读 · 0 评论 -
XNA4.0中effect的使用变化以及spriteBatch begin的变化
Effect API changes in XNA Game Studio 4.0 (XNA 4.0中effect的使用变化)ShawnHargreaves Where in previous XNA versions you used to write: effect.Begin(); effect.CurrentTechnique.Passes[原创 2010-09-06 17:21:00 · 3398 阅读 · 0 评论 -
You may not call SetData on a resource while it is actively set on the GraphicsDevice. Unset it from
解决办法是在绘制前加入GraphicsDevice.Textures[0] = null; 让显卡存的图像清空原创 2012-06-21 14:10:26 · 1499 阅读 · 3 评论 -
XNA 4.0中由于混用2D、3D绘图导致的问题解决
由于2D和3D绘图都会改变显卡的一些参数,所以再重新绘制时需要重置显卡的参数,否则会出现各种新鲜的图形错位之类的问题。曾经发过一个blog,转自Shawn Hargreaves Blog,现在再转一篇,这次变成4.0的了。 If you are mixing 3D rendering with 2D objects using SpriteBatch, you may notice t原创 2012-05-08 19:40:44 · 1382 阅读 · 0 评论 -
NaN and infinity literals not allowed by shader model
一般情况下发生在FX编写的时候,特别注意以下情况pow(max(0, f), e),这句话会存在一个问题就是当max(0,f)的值为0时,将出现pow(0,e),而实际上对于这个幂次是没有意义的,所以会出现报错,可以修改此方法,或者使用多项式展开,或者使用更简单的办法,比如将0改为0.00001f,即 pow(max(0.00001f,f),e). 这样一般都能够解决问题了。原创 2012-07-11 16:57:18 · 1103 阅读 · 0 评论 -
HLSL有关的基础知识
主要是最近在学习XNA中有关一些效果的东西,发现了官网上的2D的一些FX效果相当好。其代码给出如下链接http://creators.xna.com/en-US/sample/spriteeffects 然后就查了一下HLSL这个范例里面的FX还都不算太难,可以理解。一个简单的HLSL程序,返回一个材质的各点的颜色。sampler s0 : register(s0);flo转载 2010-09-04 21:23:00 · 4072 阅读 · 1 评论 -
Texture2D.FromFile
<br />今天写程序无意中发现Texture2D.fromfile(),不能够使用了,以前还会用的,今天就报错。<br /> <br /> InvalidOperationException : An unknown error has occurred<br /><br />整了半天,最后才终于搞明白了,又网上搜了一下大概原因能清楚了。可能有如下情况:<br />1.打开的图片是不支持的图片格式。支持的格式请见MSDN。<br />2.写入的图片是空的没东东。<br />3.原有图片存在格式问题。<br原创 2011-05-28 14:24:00 · 1198 阅读 · 0 评论 -
根级别上的数据无效 行1 位置1
<br />在写一个XML文件的读取,我的这个错误出现在这条语句:<br /> <br />XmlDocument doc = new XmlDocument(); doc.LoadXML("Config.XML"); <br />把loadXML函数改成load()函数就可以解决了。两个的用法有区别:<br /> <br /> LoadXml (): 该方法从字符串中读取 XML。 <br />如 LoadXml("<book><title>C#</title></b原创 2010-11-18 22:37:00 · 20719 阅读 · 2 评论 -
最近写程序的小总结
虽然我只是一个基础不牢,又偷懒的刚刚起步的编程人员,但我想这次项目程序的完成是急需要自己总结一下的。总结应该算是个好习惯吧。1、程序时一句一句写出来,而每一个标点符号都是应该注意的,都是句子的一部分。自己定义的变量要使用同一的方法,命名要达到下次看到变量名就知道他的作用的目的。2、注释需要经常写,一方面方便其他人阅读理解,一方面方便自己检查自己的代码,有利于自己多年以后回忆的时候能够迅速想原创 2010-01-15 22:52:00 · 744 阅读 · 2 评论 -
临时改程序
这年头我最讨厌的就是都快完事了,结果偏偏客户们要求这改那改的。好在自己比较沉着,不慌不忙的慢慢编出来了。哎。今天其实难就难在要修改别人写的程序,阅读别人的程序就要花更多的时间了,建议还是通读的好,如果幸运的像我一样就发现要改的地方在哪里了,那就HAPPY了。今天修改了xml载入的问题,各种加载方法,同时加入了一张签名展示模式,可以展示以前指定签名了。希望明天调设备愉快些,痛快些完成原创 2010-02-03 23:06:00 · 482 阅读 · 0 评论 -
关于XNA中视频的问题
前一阵子遇到了XNA中视频播放的问题,使用了DirectShow,但一直加载不进去,今天明白了错误提示为:什么什么连接线错误,尴尬我忘了是啥错误了,等哪天想起来再补上吧,原因是由于可能装了多个解码器,程序不知道用哪个解码器了,最终我按照网上大家的提示,试了一下,把自己电脑里的K-Lite Mega卸载了,然后更新了个新版本的,发现原来我的老版本里有文件损坏,这下结果明了了。然后程序立刻就能够播放视原创 2009-12-17 02:20:00 · 1059 阅读 · 0 评论 -
XNA中视频格式支持性问题
继续上次发表的问题,使用DirectShowLib的dll,编写出视频之后,WMV格式全支持,一想微软自己写的嘛,可以理解。结果后来发现mpg格式也支持,自己电脑上能够运行,等到了其他电脑上的时候就又不能运行了,怀疑是解码器的问题,于是我对比了两台电脑的解码器,使用了K-Lite COde PAck的FFshow Video中控制里有个mpeg in avi选项,因为它支持MPEG 貌似这个选项要原创 2010-01-09 15:49:00 · 1469 阅读 · 0 评论 -
XNA 坦克大战
前一阵子利用无聊时间在写坦克大战,现在终于基本的东西弄完了,我现在的思路是用一个数组来存储地图的版块,数了一下26*26的就应该可以了。 坦克基类派生敌战坦克和玩家坦克。每个坦克都有位置,矩形区,碰撞检测,子弹发射功能,等等吧。 现在写完了坦克绘制,地图绘制,以及坦克与地图的碰撞检测。马上就该写坦克与坦克之间的碰撞检测了。然后再加入子弹等功能。 恩 加油!也希望大家可以多指原创 2010-05-05 22:39:00 · 927 阅读 · 0 评论 -
不错的学习XNA shader的网址
今天学习XNA中的shader,发现了一个挺好的学习网址,保存下来。。。写写自己郁闷的学习过程,让大家都不再郁闷。。。。1 - Intro to HSLS, ambient light2 - Diffuse light3 - Specular light4 - Normal mapping5 - Deform vertex shader6 - Shader demo: Simple ocean/island scenery7 - Toon shading8 - Gloss map9 - Wiggle pos原创 2010-06-01 17:24:00 · 1148 阅读 · 1 评论 -
VS中调试快捷键
<br />调试快捷键 <br /><br />F6: 生成解决方案 <br />Ctrl+F6: 生成当前项目 <br />F7: 查看代码 <br />Shift+F7: 查看窗体设计器 <br />F5: 启动调试 <br />Ctrl+F5: 开始执行(不调试) <br />Shift+F5: 停止调试 <br />Ctrl+Shift+F5: 重启调试 <br />F9: 切换断点 <br />Ctrl+F9: 启用/停止断点 <br />Ctrl+Shif原创 2010-08-04 10:43:00 · 8934 阅读 · 2 评论 -
抗锯齿原理与方法
<br /><br />抗锯齿原理方法解析转自http://www.xici.net/main.asp?url=/u10161152/d36107020.htm 最近又研究XNA抗锯齿的问题,找到一个比较好的解释抗锯齿的原理的教程。分享一下。讲讲自己不开心的事情,让大家开心开心。呵呵。虽然是Flash的,但还是很受用的。<br /><br />很多人都对flash导入的png,gif,jpg等等img产生的锯齿感到头疼.今天我来讲讲原理的东西,希望可以帮到你们哟........下面我们就从分析为什么rota转载 2010-08-11 14:50:00 · 10996 阅读 · 0 评论 -
3D picking Sample in XNA
<br />识趣3D物体上的部分,下面给出官网的例程和解释。<br /> <br /> Picking Sample<br />This sample shows how to determine whether a player's cursor is over an object, and how to find out where on the screen an object is. Sample Overview<br />There are several situations where it原创 2010-08-12 13:41:00 · 1683 阅读 · 0 评论 -
C# XNA 串口控制
<br />在C#中使用SerialPort类实现串口通信<br /> 在.NET Framework 2.0中提供了SerialPort类,该类主要实现串口数据通信等。本文章将本人在学习过程中从网络上搜集到的相关信息写出来供大家参考。<br />下面主要介绍该类的主要属性(表1)和方法(表.2)。<br />如果需要了解更多的信息请登录http://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport(VS.80).aspx查看。<br /转载 2010-09-09 17:06:00 · 1021 阅读 · 0 评论 -
最近项目程序的总结
<br />1.对于做项目来说,重要的是和客户沟通好,弄清楚客户到底需要的是什么效果,现在发现即使沟通好,一般的客户要求也会变来变去的。这个就是没办法的事情了,按照合同来,或者看程序代码情况,好改的就改了,不好改的就算了吧,以免多出些bug了,更麻烦。<br /> <br />2.XNA中的spritebatch绘制效果里面 有三种 none,alphablend,addiactive单词忘了,大概内容就是无效果,透明效果,和颜色的叠加效果,其中以前我经常用透明度的这个,后来发现其实叠加的那个也很好用的。特原创 2010-09-01 14:54:00 · 713 阅读 · 1 评论 -
深入理解XNA的时间间隔
<br /><br />深入理解XNA 时间间隔模式:<br /> 默认的情况下,XNA运行在固定时间间隔模式下,该模式下的目标帧频是60每秒。这满足了一般游戏的需要:<br /> 1. Update函数会在一秒钟内被调用60次。<br /> 2. Draw函数会在线程空闲时被调用。<br /> 让我们看得更深入一些,时间循环的运行会有几种不同的情况。<br /> 最简单的情况是游戏调用一次Update和Draw函数的时间刚好是1/60秒,在这种情况下,程序调用了Updat转载 2010-11-30 21:37:00 · 1631 阅读 · 0 评论 -
最近写程序的小总结
<br />最近有写一个小的交互程序,一些感触:<br />1、写程序要心安静而纯净,那时候效率是最高的。<br />2、能不拖还是尽量不要去拖一个程序,拖到最后受累的还是自己,还影响去做别的事情。<br />3、听音乐永远干不了事情,至少对于我来说是这样的,除非我想写日志和玩。<br />4、有关串口的操作其实不难,新的知识会用不会用在于你去花多长的时间和认真度去学习。<br />5、遇忙转移是件很可怕的事情,所以提早完成任务是有必要的,计划永远赶不上变化,提前量总是必须的。<br />6、程序的弊病去除原创 2010-10-18 22:25:00 · 822 阅读 · 2 评论 -
修改vertex顶点
<br />大量的改变vertex顶点时要使用DynamicVertexBuffer,而改变vertex顶点之后,要初始化DynamicVertexBuffer,就好比如下语句:<br /> if (Keyboard.GetState().IsKeyDown(Keys.C)) { verts[0].Position = new Vector3(2, 0, 0); dynamicVertexBuff原创 2010-10-27 10:16:00 · 857 阅读 · 0 评论 -
XNA:2D图元与3D模型共存时的渲染问题
在XNA开发3D游戏过程中不可避免会用到2D纹理渲染,比如做游戏的主界面、背景图、选项框或者物品库等等,一般使用SpriteBatch方法渲染2D Texture,但这样会导致你的3D模型出错:变透明或是虚化,如果在3D空间中还有2D的图片(如作为空间内地板或者墙壁之用),这部分内容也将比例失常。究其原因是在SpriteBatch.begin()渲染完2D精灵(图片)以后你的3D图形管理器不再能正确使用,SpriteBatch 改变了一些驱动设备的渲染状态值,而这些值修改后令你的3D渲染不能正常工作。翻译 2010-10-28 17:26:00 · 1886 阅读 · 0 评论 -
XNA 渲染到贴图
<br />以制作含字符串的texture为例。<br /> <br /> <br /> <br /> <br /> <br />public static Texture2D CreateStringTexture(GraphicsDevice graphcisDevice, string str, SpriteFont font, Color color) { Vector2 size = font.MeasureString(st转载 2010-10-31 16:37:00 · 1798 阅读 · 0 评论 -
The method or function that was called cannot be used in the manner requested.
XNA 4.0加载声音的时候出现了这个报错,后来去MSDN查了一下,大牛们说cue一旦stop之后,就没了,就再也不能play了,要想重新play,就只能新建一个cue,重新play。 cricketCue = GameProperty.soundBank.GetCue("cricket");原创 2012-12-16 15:48:31 · 849 阅读 · 0 评论