法赛尔物理学..世界您好.

本文关键字:世界 物理学 | 更新日期: 2023-09-27 17:56:01

我不知道为什么,但我似乎找不到为什么这不起作用......我试图做一些非常简单的东西,比如刚刚从屏幕上掉下来的东西。

似乎对于最新的下载和网站上的第一个示例代码,我仍然错了。

我有这个:

using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System.Collections;
using Microsoft.Xna.Framework.Input;
using FarseerPhysics.Dynamics;
using FarseerPhysics.Collision.Shapes;

namespace Cross {
    public class Game1 : Microsoft.Xna.Framework.Game {
        GraphicsDeviceManager graphics;
        public Game1() {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
            graphics.IsFullScreen = false;
            graphics.PreferredBackBufferHeight = 600;
            graphics.PreferredBackBufferWidth = 1200;
            this.Window.Title = "Game";
        }

        protected override void Initialize() {
            World world = new World(Vector2.Zero);
            Body myBody = world.CreateBody();
            myBody.BodyType = BodyType.Dynamic;
            CircleShape circleShape = new CircleShape(0.5f);
            Fixture fixture = myBody.CreateFixture(circleShape);
            base.Initialize();
        }
        protected override void LoadContent() {
        }
        protected override void UnloadContent() {
        }

        protected override void Update(GameTime gameTime) {
            base.Update(gameTime);
        }
        protected override void Draw(GameTime gameTime) {
            base.Draw(gameTime);
        }
    }
}

但是我得到 2 个错误:

没有CreateBody()方法(虽然有AddBreakableBody()

'FarseerPhysics.Dynamics.World' does not contain a definition for 'CreateBody' and no extension method 'CreateBody' accepting a first argument of type 'FarseerPhysics.Dynamics.World' could be found (are you missing a using directive or an assembly reference?)

CircleShape 构造函数需要 2 个参数(这个参数很简单,但在示例中仍然错误)

'FarseerPhysics.Collision.Shapes.CircleShape' does not contain a constructor that takes 1 arguments

我已经尝试了很多东西,我很困惑为什么我可以得到这个。此代码是否适用于其他人? 我的dll搞砸了吗?

法赛尔物理学..世界您好.

他们的例子是错的,你是对的!(我很惊讶他们有如此明显的错误。

转到类 CircleShape,看看参数的顺序。圆是由位置和半径定义的,而不仅仅是半径。

然后在项目中搜索 CreateBody(),以查看应从何处调用该方法。