本文整理汇总了C#中Box2D.Dynamics.b2World.SetContinuousPhysics方法的典型用法代码示例。如果您正苦于以下问题:C# b2World.SetContinuousPhysics方法的具体用法?C# b2World.SetContinuousPhysics怎么用?C# b2World.SetContinuousPhysics使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Box2D.Dynamics.b2World
的用法示例。
在下文中一共展示了b2World.SetContinuousPhysics方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InitPhysics
void InitPhysics()
{
var gravity = new b2Vec2(0.0f, -10.0f);
world = new b2World(gravity);
world.SetAllowSleeping(true);
world.SetContinuousPhysics(true);
var def = new b2BodyDef();
def.allowSleep = true;
def.position = b2Vec2.Zero;
def.type = b2BodyType.b2_staticBody;
b2Body groundBody = world.CreateBody(def);
groundBody.SetActive(true);
b2EdgeShape groundBox = new b2EdgeShape();
groundBox.Set(b2Vec2.Zero, new b2Vec2(900, 100));
b2FixtureDef fd = new b2FixtureDef();
fd.friction = 0.3f;
fd.restitution = 0.1f;
fd.shape = groundBox;
groundBody.CreateFixture(fd);
}
示例2: AddedToScene
//.........这里部分代码省略.........
}
SetUpParticleSystemSun();
CCMenuItemImage button1 = new CCMenuItemImage("gameMenu", "gameMenu", ShowMenu);
MenuButton = new CCMenu(button1);
MenuButton.Position = menuStartPosition;
AddChild(MenuButton, Constants.DepthScore);
// assign CCPoints to keep track of the starting positions of objects that move relative to the entire layer.
hillsLayerStartPosition = backgroundLayerHills.Position;
cloudLayerStartPosition = backgroundLayerClouds.Position;
// Define the gravity vector.
yAxisGravity = -9.81f;
b2Vec2 gravity = b2Vec2.Zero;
gravity.Set(0.0f, yAxisGravity);
// Construct a world object, which will hold and simulate the rigid bodies.
world = new b2World(gravity);
world.AllowSleep = false;
world.SetContinuousPhysics(true);
//EnableDebugMode();
// Define the ground body.
var groundBodyDef = new b2BodyDef(); // Make sure we call
groundBodyDef.position.Set(0, 0); // bottom-left corner
// Call the body factory which allocates memory for the ground body
// from a pool and creates the ground box shape (also from a pool).
// The body is also added to the world.
b2Body groundBody = world.CreateBody(groundBodyDef);
// Define the ground box shape.
b2EdgeShape groundBox = new b2EdgeShape();
int worldMaxWidth = screenWidth * 4; //If you ever want the BOX2D world width to be more than it is then increase this (currently, this should be plenty of extra space)
int worldMaxHeight = screenHeight * 3; //If you ever want the BOX2D world height to be more than it is then increase this (currently, this should be plenty of extra space)
// bottom
groundBox.Set(new b2Vec2(-4, 0), new b2Vec2(worldMaxWidth / Constants.PTM_RATIO, 0));
groundBody.CreateFixture(groundBox, 0);
// top
groundBox.Set(new b2Vec2(-4, worldMaxHeight / Constants.PTM_RATIO), new b2Vec2(worldMaxWidth / Constants.PTM_RATIO, worldMaxHeight / Constants.PTM_RATIO));
groundBody.CreateFixture(groundBox, 0);
// left
groundBox.Set(new b2Vec2(-4, worldMaxHeight / Constants.PTM_RATIO), new b2Vec2(-4, 0));
groundBody.CreateFixture(groundBox, 0);
// right
示例3: Test
public Test()
{
m_destructionListener = new DestructionListener();
m_debugDraw = new CCBox2dDraw("fonts/arial-12", 1);
b2Vec2 gravity = new b2Vec2();
gravity.Set(0.0f, -10.0f);
m_world = new b2World(gravity);
m_bomb = null;
m_textLine = 30;
m_mouseJoint = null;
m_pointCount = 0;
m_destructionListener.test = this;
m_world.SetDestructionListener(m_destructionListener);
m_world.SetContactListener(this);
m_world.SetDebugDraw(m_debugDraw);
m_world.SetContinuousPhysics(true);
m_world.SetWarmStarting(true);
m_bombSpawning = false;
m_stepCount = 0;
b2BodyDef bodyDef = new b2BodyDef();
m_groundBody = m_world.CreateBody(bodyDef);
}
示例4: InitPhysics
void InitPhysics()
{
CCSize s = Layer.VisibleBoundsWorldspace.Size;
var gravity = new b2Vec2 (0.0f, -10.0f);
world = new b2World (gravity);
world.SetAllowSleeping (true);
world.SetContinuousPhysics (true);
var def = new b2BodyDef ();
def.allowSleep = true;
def.position = b2Vec2.Zero;
def.type = b2BodyType.b2_staticBody;
b2Body groundBody = world.CreateBody (def);
groundBody.SetActive (true);
b2EdgeShape groundBox = new b2EdgeShape ();
groundBox.Set (b2Vec2.Zero, new b2Vec2 (s.Width / PTM_RATIO, 0));
b2FixtureDef fd = new b2FixtureDef ();
fd.shape = groundBox;
groundBody.CreateFixture (fd);
}
示例5: initPhysics
private void initPhysics()
{
CCSize s = CCDirector.SharedDirector.WinSize;
var gravity = new b2Vec2(0.0f, -10.0f);
_world = new b2World(gravity);
float debugWidth = s.Width / PTM_RATIO * 2f;
float debugHeight = s.Height / PTM_RATIO * 2f;
CCDraw debugDraw = new CCDraw(new b2Vec2(debugWidth / 2f + 10, s.Height - debugHeight - 10), 2);
debugDraw.AppendFlags(b2DrawFlags.e_shapeBit);
_world.SetDebugDraw(debugDraw);
_world.SetAllowSleeping(true);
_world.SetContinuousPhysics(true);
//m_debugDraw = new GLESDebugDraw( PTM_RATIO );
//world->SetDebugDraw(m_debugDraw);
//uint32 flags = 0;
//flags += b2Draw::e_shapeBit;
// flags += b2Draw::e_jointBit;
// flags += b2Draw::e_aabbBit;
// flags += b2Draw::e_pairBit;
// flags += b2Draw::e_centerOfMassBit;
//m_debugDraw->SetFlags(flags);
// Call the body factory which allocates memory for the ground body
// from a pool and creates the ground box shape (also from a pool).
// The body is also added to the world.
b2BodyDef def = b2BodyDef.Create();
def.allowSleep = true;
def.position = b2Vec2.Zero;
def.type = b2BodyType.b2_staticBody;
b2Body groundBody = _world.CreateBody(def);
groundBody.SetActive(true);
// Define the ground box shape.
// bottom
b2EdgeShape groundBox = new b2EdgeShape();
groundBox.Set(b2Vec2.Zero, new b2Vec2(s.Width / PTM_RATIO, 0));
b2FixtureDef fd = b2FixtureDef.Create();
fd.shape = groundBox;
groundBody.CreateFixture(fd);
// top
groundBox = new b2EdgeShape();
groundBox.Set(new b2Vec2(0, s.Height / PTM_RATIO), new b2Vec2(s.Width / PTM_RATIO, s.Height / PTM_RATIO));
fd.shape = groundBox;
groundBody.CreateFixture(fd);
// left
groundBox = new b2EdgeShape();
groundBox.Set(new b2Vec2(0, s.Height / PTM_RATIO), b2Vec2.Zero);
fd.shape = groundBox;
groundBody.CreateFixture(fd);
// right
groundBox = new b2EdgeShape();
groundBox.Set(new b2Vec2(s.Width / PTM_RATIO, s.Height / PTM_RATIO), new b2Vec2(s.Width / PTM_RATIO, 0));
fd.shape = groundBox;
groundBody.CreateFixture(fd);
// _world.Dump();
}
示例6: Mouse
public Mouse()
{
//m_destructionListener = new DestructionListener();
m_debugDraw = new CCBox2dDraw("fonts/arial-16");
b2Vec2 gravity = new b2Vec2();
gravity.Set(500, 500);
m_world = new b2World(gravity);
m_world.SetAllowSleeping(false);
m_world.SetContinuousPhysics(true);
m_world.SetDebugDraw(m_debugDraw);
m_debugDraw.AppendFlags(b2DrawFlags.e_shapeBit | b2DrawFlags.e_aabbBit | b2DrawFlags.e_centerOfMassBit | b2DrawFlags.e_jointBit | b2DrawFlags.e_pairBit);
m_world.SetContinuousPhysics(true);
m_world.SetWarmStarting(true);
}
示例7: N2b2World
public b2World N2b2World(JObject worldValue)
{
b2World world = new b2World(jsonToVec("gravity", worldValue));
world.SetAllowSleeping((bool)worldValue.GetValue("allowSleep"));
world.ClearForces();
//world.Set(worldValue.getBoolean("autoClearForces"));
world.SetWarmStarting((bool)worldValue.GetValue("warmStarting"));
world.SetContinuousPhysics((bool)worldValue.GetValue("continuousPhysics"));
world.SetSubStepping((bool)worldValue.GetValue("subStepping"));
readCustomPropertiesFromJson(world, worldValue);
int i = 0;
JArray bodyValues = (JArray)worldValue["body"];
if (null != bodyValues)
{
int numBodyValues = bodyValues.Count;
for (i = 0; i < numBodyValues; i++)
{
JObject bodyValue = (JObject)bodyValues[i];
b2Body body = N2b2Body(world, bodyValue);
readCustomPropertiesFromJson(body, bodyValue);
m_bodies.Add(body);
m_indexToBodyMap.Add(i, body);
}
}
// need two passes for joints because gear joints reference other joints
JArray jointValues = (JArray)worldValue["joint"];
if (null != jointValues)
{
int numJointValues = jointValues.Count;
for (i = 0; i < numJointValues; i++)
{
JObject jointValue = (JObject)jointValues[i];
if (jointValue["type"].ToString() != "gear")
{
b2Joint joint = j2b2Joint(world, jointValue);
readCustomPropertiesFromJson(joint, jointValue);
m_joints.Add(joint);
}
}
for (i = 0; i < numJointValues; i++)
{
JObject jointValue = (JObject)jointValues[i];
if (jointValue["type"].ToString() == "gear")
{
b2Joint joint = j2b2Joint(world, jointValue);
readCustomPropertiesFromJson(joint, jointValue);
m_joints.Add(joint);
}
}
}
i = 0;
JArray imageValues = (JArray)worldValue["image"];
if (null != imageValues)
{
int numImageValues = imageValues.Count;
for (i = 0; i < numImageValues; i++)
{
JObject imageValue = (JObject)imageValues[i];
Nb2dJsonImage image = j2b2dJsonImage(imageValue);
readCustomPropertiesFromJson(image, imageValue);
m_images.Add(image);
}
}
return world;
}
示例8: SetupWorld
static void SetupWorld(bool setupGround)
{
var gravity = new b2Vec2(0.0f, -10.0f);
_world = new b2World(gravity);
_world.SetAllowSleeping(true);
_world.SetContinuousPhysics(true);
_world.SetSubStepping(true);
_world.SetWarmStarting(true);
_world.SetDestructionListener(new Destructo());
_world.SetContactListener(new Contacto());
if (!setupGround)
{
return;
}
// Call the body factory which allocates memory for the ground body
// from a pool and creates the ground box shape (also from a pool).
// The body is also added to the world.
b2BodyDef def = b2BodyDef.Create();
def.allowSleep = true;
def.position = b2Vec2.Zero;
def.type = b2BodyType.b2_staticBody;
b2Body groundBody = _world.CreateBody(def);
groundBody.SetActive(true);
// bottom
b2EdgeShape groundBox = new b2EdgeShape();
groundBox.Set(b2Vec2.Zero, new b2Vec2(width, 0));
b2FixtureDef fd = b2FixtureDef.Create();
fd.shape = groundBox;
groundBody.CreateFixture(fd);
// top
groundBox = new b2EdgeShape();
groundBox.Set(new b2Vec2(0, height), new b2Vec2(width, height));
fd.shape = groundBox;
groundBody.CreateFixture(fd);
// left
groundBox = new b2EdgeShape();
groundBox.Set(new b2Vec2(0, height), b2Vec2.Zero);
fd.shape = groundBox;
groundBody.CreateFixture(fd);
// right
groundBox = new b2EdgeShape();
groundBox.Set(new b2Vec2(width, height), new b2Vec2(width, 0));
fd.shape = groundBox;
groundBody.CreateFixture(fd);
_world.Dump();
}
示例9: Main
static void Main(string[] args)
{
var gravity = new b2Vec2(0.0f, -10.0f);
b2World _world = new b2World(gravity);
_world.SetAllowSleeping(true);
_world.SetContinuousPhysics(true);
// Call the body factory which allocates memory for the ground body
// from a pool and creates the ground box shape (also from a pool).
// The body is also added to the world.
b2BodyDef def = b2BodyDef.Create();
def.allowSleep = true;
def.position = b2Vec2.Zero;
def.type = b2BodyType.b2_staticBody;
b2Body groundBody = _world.CreateBody(def);
groundBody.SetActive(true);
// Define the ground box shape.
float width = 100f, height = 100f;
// bottom
b2EdgeShape groundBox = new b2EdgeShape();
groundBox.Set(b2Vec2.Zero, new b2Vec2(width, 0));
b2FixtureDef fd = b2FixtureDef.Create();
fd.shape = groundBox;
groundBody.CreateFixture(fd);
// top
groundBox = new b2EdgeShape();
groundBox.Set(new b2Vec2(0, height), new b2Vec2(width, height));
fd.shape = groundBox;
groundBody.CreateFixture(fd);
// left
groundBox = new b2EdgeShape();
groundBox.Set(new b2Vec2(0, height), b2Vec2.Zero);
fd.shape = groundBox;
groundBody.CreateFixture(fd);
// right
groundBox = new b2EdgeShape();
groundBox.Set(new b2Vec2(width, height), new b2Vec2(width, 0));
fd.shape = groundBox;
groundBody.CreateFixture(fd);
_world.Dump();
Console.WriteLine("Enter the number of bodies you want to run?");
string s = Console.ReadLine();
Random ran = new Random();
for (int i = 0; i < int.Parse(s); i++)
{
def = b2BodyDef.Create();
def.position = new b2Vec2(width * (float)ran.NextDouble(), height * (float)ran.NextDouble());
def.type = b2BodyType.b2_dynamicBody;
b2Body body = _world.CreateBody(def);
// Define another box shape for our dynamic body.
var dynamicBox = new b2PolygonShape();
dynamicBox.SetAsBox(.5f, .5f); //These are mid points for our 1m box
// Define the dynamic body fixture.
fd = b2FixtureDef.Create();
fd.shape = dynamicBox;
fd.density = 1f;
fd.friction = 0.3f;
b2Fixture fixture = body.CreateFixture(fd);
}
int iter = 0;
for (float dt = 0f; dt < 26f; )
{
Update(_world, dt);
dt += 1f / 30f;
iter++;
if (iter == 30)
{
Dump(_world);
iter = 0;
}
}
Console.WriteLine("hit <enter> to exit");
Console.ReadLine();
Dump(_world);
}