我正在爲我的XNA課程中的最終項目製作遊戲,這將是一個FPS。爲了生成敵人,我想我可以寫一個導入模型的類,並定義「敵人」的隨機大小和位置,以及他的動作和動作。然後我會從我的Game.cs文件中調用該類。不過,我在這方面遇到了一些困難。我正在做一個遊戲,可以/我應該創建一個「敵人」類嗎?
我的主要問題是,我不確定在遊戲文件中的哪裏/如何調用敵人(這是一個雪人)。
下面是我對Snowmen.cs(敵人)類
public class Snowmen : Microsoft.Xna.Framework.Game
{
private Camera cam = new Camera();
Model snowMan;
Matrix[] snowManMatrix;
protected override void LoadContent()
{
snowMan = Content.Load<Model>("Models\\snowman");
snowManMatrix = new Matrix[ snowMan.Bones.Count ];
snowMan.CopyAbsoluteBoneTransformsTo(snowManMatrix);
}
public void DrawSnowMan(Model model, GameTime gameTime)
{
foreach (ModelMesh mesh in model.Meshes)
{
Matrix world, scale, translation;
scale = Matrix.CreateScale(0.02f, 0.02f, 0.02f);
translation = Matrix.CreateScale(0.0f, 0.7f, -4.0f);
world = scale * translation;
foreach (BasicEffect effect in mesh.Effects)
{
effect.World = snowManMatrix[mesh.ParentBone.Index] * world;
effect.View = cam.viewMatrix;
effect.Projection = cam.projectionMatrix;
effect.EnableDefaultLighting();
}
mesh.Draw();
}
}
protected override void Draw(GameTime gameTime)
{
DrawSnowMan(snowMan, gameTime);
base.Draw(gameTime);
}
}
截至目前,我Game1.cs文件是一個功能天空盒,還包含LoadContent()
和Draw()
方法。敵人階級完全沒有必要嗎?
你爲什麼繼承Game而不是GameObject? – asawyer
你班上有多少雪人呢? 1?那麼它應該是'雪人',單數。 – MPelletier
@asawyer我只是一種新的這一點,並沒有意識到不同之處。如果我繼承到GameObject,則會出現錯誤,指出「內容」在當前上下文中不存在。我也得到'對象'不包含'Draw'的定義。我看到GameObject更有意義,但我將如何實現? – Kyle