[英]Farseer physics…hello world…?
我不知道为什么,但我似乎无法找出为什么这不起作用......我正在尝试制作一些非常简单的东西,就像刚刚从屏幕上掉下来的东西一样。
看起来最新的下载和网站上的第一个示例代码,我仍然是错的。
我有这个:
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构造函数有两个参数(这个很简单,但在示例中仍然是错误的)
'FarseerPhysics.Collision.Shapes.CircleShape' does not contain a constructor that takes 1 arguments
我尝试了很多东西,我很困惑,为什么我能得到这个。 这段代码适用于其他人吗? 我的骗局搞砸了吗?
他们的例子是错的,你是对的! (我很惊讶他们有这么明显的错误。)
转到CircleShape类,查看参数的顺序。 圆由位置和半径定义,而不仅仅是半径。
然后在项目中搜索CreateBody(),以查看应从何处调用该方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.