我有这个类,我用它在我的2D游戏中绘制精灵:
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Audio;
namespace Namespace
{
/// <summary>
/// Found this brilliant code at.
/// http://adambruenderman.wordpress.com/2011/04/05/create-a-2d-camera-in-xna-gs-4-0/
/// </summary>
public class CCamera2d
{
private const float zoomUpperLimit = 1.3f;
private const float zoomLowerLimit = .85f;
private float _zoom;
private Matrix _transform;
private Vector2 _pos;
private float _rotation;
private int _viewportWidth;
private int _viewportHeight;
private int _worldWidth;
private int _worldHeight;
public CCamera2d(Viewport viewport, int worldWidth, int worldHeight, float initialZoom = zoomLowerLimit)
{
_zoom = initialZoom;
_rotation = 0.0f; …Run Code Online (Sandbox Code Playgroud) 好的,在我的XNA项目中,我添加了简单的着色器+模型加载代码,一切正常。我在3Ds Max中创建了一个非常简单的低细节模型。导出并导入FBX格式的XNA。
问题是:如果我将简单的相机移动到与该型号相距一定距离的地方,其组件之一就会开始闪烁。我尝试了另一种模型,并且情况相同,只有当我与模型之间有一定距离时,某些组件才会开始闪烁。
这种闪烁(或闪烁或..)仅在带有纹理的对象上出现(可能),并且看起来像:在每帧中,模型的随机部分/像素(或不是那么随机)被模型或其组件后面的对象所代替。 。:(
更新:现在我知道-问题出在我的模型中(我检查了其他一些模型)。我不明白为什么,但是“平面”对象却发出了这种闪烁。也许问题不在Plane对象中。

我有一个简单的抽象类(比如说A)和继承它的类(比如说C).
class C : A
Run Code Online (Sandbox Code Playgroud)
问题是第二个(C)包含我需要在另一个类中的代码; 我认为将这部分代码拆分为单独的类(B)并在我需要的类中派生它是件好事.
B(代码的共享部分)>> C(目标)<< A(C的抽象基础)
一切都好 - 除了在基类(A)中声明的抽象函数之一在B中定义,而不是在C中定义.我认为这会导致我的错误.我正在寻找解决方案......
class A // a base class i need to derive from
{
// ...
public: virtual bool Get() const;
// ...
};
class B // only contains definition for get()
{
public:
bool Get() const { return false; }
};
class C : public B, public A // firstly derive from B, than from A.. ??
{
// so Get(), required by A is defined …Run Code Online (Sandbox Code Playgroud) 是否知道两种变体中的哪一种更快,或者它们是相同的,或者比较不正确.
Vector test(Vector &vec)
{
// return modified vector, or write directly to vec,
// or do not return anything, but access vec anyway
}
Vector test(Vector vec)
{
// same (but no reference)
}
Run Code Online (Sandbox Code Playgroud)
我问,因为我应该知道它,为Direct3D游戏创建最佳优化代码.
更新:我在谈论xnamath.h(d3d sdk)中的XMVECTOR - 16个字节,4个浮点数.