Questions tagged «c#»

C#是Microsoft与.NET平台一起创建的一种多范例,托管,强类型,垃圾回收的编程语言。


3
如何实现基于四元数的相机?
更新这里的错误是一个非常简单的错误。我错过了弧度到度的转换。如果您还有其他问题,则无需阅读全文。 我看了几本关于此的教程,当我以为自己理解时,便尝试实现基于四元数的相机。问题是,旋转大约10分钟后,它无法正常工作。10度会跳回-10度。我不知道怎么了 我正在使用openTK,它已经有一个四元数类。我是opengl的菜鸟,我只是出于娱乐目的而做,并不真正了解四元数,所以我可能在这里做一些愚蠢的事情。这是一些代码:(实际上,除了加载和绘制vbo的方法外,几乎所有代码(它取自于演示vbo-s的OpenTK示例)) 我将多维数据集加载到vbo中并初始化相机的四元数 protected override void OnLoad(EventArgs e) { base.OnLoad(e); cameraPos = new Vector3(0, 0, 7); cameraRot = Quaternion.FromAxisAngle(new Vector3(0,0,-1), 0); GL.ClearColor(System.Drawing.Color.MidnightBlue); GL.Enable(EnableCap.DepthTest); vbo = LoadVBO(CubeVertices, CubeElements); } 我在这里加载透视投影。每次我调整窗口大小时,它都会在开始时加载。 protected override void OnResize(EventArgs e) { base.OnResize(e); GL.Viewport(0, 0, Width, Height); float aspect_ratio = Width / (float)Height; Matrix4 perpective = …

3
XNA和C#与360的顺序处理器
阅读了这句话之后,我觉得他们可能是对的(Xenon和CELL BE 对分支和缓存无知的代码都非常敏感),但是我听说人们也在用C#编写出色的游戏。 因此,使用XNA 不可能做任何专业的事情是真的吗?或者发布者只是错过了使XNA成为游戏开发的杀手级API的原因? 从专业上来说,我并不是说可以从中赚钱,而是从更专业的游戏中了解物理模型和动画系统,而这些模型和动画系统似乎超出了语言的范围,从而对内在函数造成了明确的障碍。如果我想为我的游戏编写一个碰撞系统或流体动力学引擎,我不认为C#会为我提供这样做的机会,因为运行时代码生成器和缺少内在函数会影响性能。 但是,许多人似乎可以在这些限制下工作,使自己的游戏成功,但似乎可以避免任何问题。除了库已经提供或由着色器处理的内容以外,我还没有注意到任何XNA游戏都能完成任何复杂的工作。是否由于C#的限制而避免了更复杂的游戏动态,还是只是人们专注于完成游戏? 老实说,我不敢相信如果没有某种面向数据的方法或一些肮脏的C#hack来使AI战争能够维持许多单位的AI,以使其比标准方法更好地运行,我想这也是我的问题之一,如何是否有人破解了C#,所以它能够做游戏程序员自然使用C ++进行的工作?
14 xna  c# 

4
RTS游戏AI线程
我有一个从头开始制作实时策略游戏的项目。我仍处于早期计划阶段,但是我已经进行了一些编程以了解其机制。 我知道如何编程。我对如何构造游戏类和面向计算机玩家的基于规则的(状态机)AI也有很好的想法。 我想开发一种教义,它会赋予特定单位特定的行为(但可以同时在多个单位上使用),例如侦察兵,跟随任务路线,保持位置(攻击不速之客或退缩)等 该学说仅适用于单位,因此它将具有单位的观点,而对整个地图的状况并不了解。 计算机AI将分析整个可见图,并根据另一套规则决定分配哪个单元的学说。 我正在C#和OpenGL中执行此操作。 就目前而言,在我开始主要构想之前,我还没有太多东西在测试中。我有一个游戏循环,所有游戏处理(我将其依次称为更新运动,战斗,渲染等)将发生,如果发生Application.Idle事件,则经常调用该循环。 现在,我在想。由于游戏循环中有很多事情要处理,因此计算机AI和单位应该在该循环中选择其动作还是会太慢? 如果我希望所有事物都同时存在,是否应该为计算机AI创建单独的线程?甚至每个单元都有单独的线程? 我在多线程方面没有太多经验。最好的方法是什么?
14 c#  ai  multithreading 

2
2D Platformer的墙跳
我一直在寻找一种在xna游戏中实现跳墙的方法,但是我找不到有关它的任何信息,有人可以请我帮忙吗?
14 xna  2d  c#  platformer 

6
我是否由于不了解C ++进行游戏设计而伤害自己?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 现在,我觉得自己在Java和C#方面都很强。(从一个到另一个的跳跃并不多)。 虽然我并不期望游戏设计师/程序员会在我职业生涯的早期实现目标,但这是我在职业生涯后期将会实现的目标。 考虑到这一点,我感到无视C ++和与其相关的游戏设计工具最终会伤害我或使我达到目标的能力减慢。 是这样吗 还是我可以继续使用XNA和WPF磨练自己的C#技能来开展个人项目,从而使我从事这样的职业?
14 xna  c++  c#  java  wpf 

3
使用某种引擎开始游戏开发是否明智?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 2年前关闭。 我开始进行C#编程,以便以后使用XNA开发游戏。我读了一本关于C#的优秀游戏开发书。由于我已经知道其他语言,因此我可以快速学习C#功能和语法代码。然后,我进入了XNA。由于我正在阅读的书有些陈旧,因此将其放在一边,然后开始研究有关Internet上XNA的游戏开发教程。我可以使用2D图形来完成并理解其中的大多数。我创建了动画精灵,使角色向任意方向移动,背景与角色移动一起滚动,依此类推。一切都用“原始” XNA完成。 我发现其中有些事情很难理解,并且发现某些事情已经内置在框架中。我找到了其他游戏引擎,这些游戏引擎至少可以让我清楚地理解一些简单的代码,例如“ FlatRedBall ”,“ Axiom ”和“ Quick Start Engine ”。我已经知道了著名的“ OGRE”,“ Unreal”和“ Unity”。同时,我很想抛弃所有这些,并开始学习一些著名的游戏引擎编程。我想留在XNA,因为这花了我一些时间来学习。时间我不想浪费它。 这次,我把它留给有经验的人。即使我开始游戏开发,我是否可以使用某些游戏引擎并使用其提供的功能?有些人可能认为,习惯于使用裸框架的无聊例程是件好事。如果是这样,那么建议从哪开始呢?我听说每个市场都有所不同。我们也许可以认为我想要一个特定于RPG的游戏。
14 c#  xna  3d 

4
如何使用基于组件的架构设计有效的游戏对象交互方案?
这是一个设计问题。我敢肯定,这可以进一步推广,但是我很难过。我想知道游戏对象交互的设计-这是我的示例(二维拼图平台)。 假设玩家正在尝试逐步升级。有许多可以指向不同方向的灯。这是这些灯光对象如何相互作用的示例。 一盏灯投射出一个平台,使玩家可以越过空隙 一盏灯会降低其触摸的任何物体的摩擦系数,另一盏灯会增加它的摩擦系数。 一盏灯使所有灯的效果无效,这将使平台在该灯打开时消失,并使摩擦修饰符无效。 等等... 使用组件体系结构时解决此问题的最佳方法是什么?每个主要对象的组件似乎都是显而易见的,而且是一种清晰的方法来定义其对环境的影响。一个用来“解决”交互作用的类(好像这样很快就会变得一团糟)?使用装饰器模式为在给定时间进行交互的对象创建组合对象?一个适合这种情况的数据结构? 另外,将音频连接到这些交互吗?似乎将音频连接到系统就像连接其他属性一样,例如可见性或播放器移动/碰撞。 显然,随着添加更多组件,如果有一个健壮的系统可以进行少量修改就可以处理新组件,那将是很好的选择,但是我不熟悉如何进行此设计。 其他信息:我使用的引擎是一个名为IceCream的XNA引擎。


8
C#(单声道)/ Java 3D游戏引擎推荐[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 7年前关闭。 您能为跨平台(Win / Mac / Linux,我不在乎控制台)开发推荐一个好的C#游戏引擎吗? 我在原始OpenGL方面有一些经验,并且玩过Java绑定和JMonkeyEngine。但是,我对这些解决方案感到有些失望,我尝试了Ogre3D,它看起来确实很有希望,但是我宁愿不必使用C ++的PITA进行开发。 我看过这个列表,但是它非常庞大。我不是在寻找一种多合一的解决方案,也就是说,我实际上并不需要网络,音频和所有爵士乐的支持,但是如果得到支持,它也不会受到损害。 也许还有一个我不知道的很棒的Java解决方案?
14 c#  java  cross-platform  mono 

2
统一脚本后端IL2CPP和Mono2x之间的区别
IL2CPP是Unity开发的脚本后端,在为某些平台构建项目时,可以将其用作Mono的替代方案。注意-IL2CPP仅在为以下平台构建时可用: Android AppleTV,iOS *,Nintendo 3DS,Nintendo Switch,Playstation 4 Playstation Vita,WebGL *,Windows Store,Xbox One 我有一个已切换为Android部署的项目(UNITY 5.2)。我试图将脚本从切换Mono2x回IL2CPP并向我显示 IL2CPP在Andriod上是实验性的,不受支持 因此,我的简单问题是,如果仍不支持该选项,那么为什么要包括该选项,IL2CPP和Mono2x之间的根本区别是什么。为什么我切换到IL2CPP脚本后端?它的优缺点是什么? 我还检查了统一5.5.2在Windows平台部署中没有IL2CPP选项。
14 unity  c#  mono  il2cpp 

2
如何在XNA 4.0中正确设置Alpha透明度?
好的,我已经阅读了几篇文章,教程以及与此有关的问题。大多数人都指向不能解决我的问题的相同技术。我需要能够创建半透明的精灵(确实是texture2D)并使其覆盖另一个精灵。 我可以通过找到的代码示例来实现这一点,但是我对结果不满意,而且我知道有办法做到这一点。在移动编程(BREW)中,我们采用老式方法,并在渲染之前实际检查了每个像素的透明度。 在这种情况下,似乎将其下方的精灵与其上方的alpha混合在一起。这可能是我如何渲染纹理的产物,但是,正如我之前说的,所有示例都指向这一技术。在继续之前,我将继续粘贴示例代码。 public void Draw(SpriteBatch batch, Camera camera, float alpha) { int tileMapWidth = Width; int tileMapHeight = Height; batch.Begin(SpriteSortMode.Texture, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.Default, RasterizerState.CullNone, null, camera.TransformMatrix); for (int x = 0; x < tileMapWidth; x++) { for (int y = 0; y < tileMapHeight; y++) { int tileIndex = …
14 xna  2d  c#  rendering  transparency 

7
如何在Unity中更改对某些对象的重力?
我在Unity中有两个领域。一个是大小的1000倍,另一个是大小的1倍。因此,我希望将较小的球体吸引到较大的球体中。那么我该怎么做。我知道它可以通过使用刚体在重力作用下下降。但是,如何改变朝向大球面的重力角?
14 c#  unity  sphere 

2
尽管使用了Time.deltaTime,但移动似乎与帧速率有关。
我有以下代码来计算在Unity中移动游戏对象所需的转换LateUpdate。据我了解,我对的使用Time.deltaTime应使最终的翻译帧速率独立(请注意CollisionDetection.Move(),仅用于进行射线广播)。 public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { model.AmountToMove = new Vector3(model.AmountToMove.x, model.AmountToMove.y); } else if (CollisionDetection.OnGround) { model.AmountToMove = new Vector3(model.AmountToMove.x, 0); } model.FlipAnim = flipAnimation(targetSpeed); // If we're ignoring gravity, then just …

3
C#和UnityScript在Unity开发中有何不同?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 5年前关闭。 除了明显的语言差异之外,在Unity3D中开发游戏时,UnityScript和C#有何不同? 有明显的性能差异吗? UnityScript代码是否按原样打包?如果是,这是否有助于游戏的可修改性? 是否可以使用针对一种语言开发的库,而同时使用另一种语言开发? 两种语言可以在同一个Unity项目中混合使用吗?在C#中编码某些部分,在UnityScript中编码其他部分?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.