[英]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.