本文整理汇总了C#中Box2D.Dynamics.b2World.SetDebugDraw方法的典型用法代码示例。如果您正苦于以下问题:C# b2World.SetDebugDraw方法的具体用法?C# b2World.SetDebugDraw怎么用?C# b2World.SetDebugDraw使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Box2D.Dynamics.b2World
的用法示例。
在下文中一共展示了b2World.SetDebugDraw方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Initialize
public void Initialize(float mapSizeWidth, Character Character, CCTileMapLayer physicsLayer, CCTileMap physicsMap, Container gameContainer)
{
mapSizeWidth /= pixelPerMeter;
gameWorld = new b2World (new b2Vec2 (0, -9.8f));
gameWorld.AllowSleep = false;
//definiert den MainCharacter
Character.createPhysicsBody (gameWorld);
defineGround (mapSizeWidth);
createBox2DWorldByLayer (physicsLayer, physicsMap);
debugDrawer = new DebugDraw ();
gameWorld.SetDebugDraw (debugDrawer);
debugDrawer.AppendFlags (b2DrawFlags.e_shapeBit);
collusionSensor = new CollusionSensor (gameContainer);
gameWorld.SetContactListener (collusionSensor);
}
示例2: SetJson
public void SetJson(string fullpath)
{
Console.WriteLine("Full path is: %s", fullpath);
Nb2dJson json = new Nb2dJson();
StringBuilder tmp = new StringBuilder();
m_world = json.ReadFromFile(fullpath, tmp);
if (m_world != null)
{
Console.WriteLine("Loaded JSON ok");
m_world.SetDebugDraw(m_debugDraw);
b2BodyDef bodyDef = new b2BodyDef();
m_groundBody = m_world.CreateBody(bodyDef);
}
else
Console.WriteLine(tmp); //if this warning bothers you, turn off "Typecheck calls to printf/scanf" in the project build settings
}
示例3: ApplicationSprite
//.........这里部分代码省略.........
var HEIGHT_M = DefaultHeight / SCALE; //world height in meters
//initialize font to draw text with
//var font=new gamejs.font.Font('16px Sans-serif');
//key bindings
//var BINDINGS={accelerate:gamejs.event.K_UP,
// brake:gamejs.event.K_DOWN,
// steer_left:gamejs.event.K_LEFT,
// steer_right:gamejs.event.K_RIGHT};
//initialize display
//var display = gamejs.display.setMode([WIDTH_PX, HEIGHT_PX]);
//SET UP B2WORLD
var b2world = new b2World(new b2Vec2(0, 0), false);
//set up box2d debug draw to draw the bodies for us.
//in a real game, car will propably be drawn as a sprite rotated by the car's angle
var debugDraw = new b2DebugDraw();
debugDraw.SetSprite(this);
debugDraw.SetDrawScale(SCALE);
debugDraw.SetFillAlpha(0.5);
debugDraw.SetLineThickness(1.0);
debugDraw.SetFlags(b2DebugDraw.e_shapeBit);
b2world.SetDebugDraw(debugDraw);
var wheels = new[] {
//top left
new Wheel(b2world: b2world, x :-1, y :-1.2, width :0.4, length :0.8, revolving :true, powered :true),
//top right
new Wheel(b2world: b2world, x :1, y :-1.2, width :0.4, length :0.8, revolving :true, powered :true),
//back left
new Wheel(b2world: b2world, x :-1, y :1.2, width :0.4, length :0.8, revolving :false, powered :false),
//back right
new Wheel(b2world: b2world, x :1, y :1.2, width :0.4, length :0.8, revolving :false, powered :false),
};
Func<double, double, double[]> ff = (a, b) => { return new double[] { a, b }; };
////initialize car
var car = new Car(
b2world: b2world,
width: 2,
length: 4,
position: ff(10, 10),
angle: 180,
power: 60,
max_steer_angle: 20,
max_speed: 60,
wheels: wheels
);
//initialize some props to bounce against
示例4: ApplicationSprite
// http://blog.allanbishop.com/box2d-2-1a-tutorial-part-1/
public ApplicationSprite()
{
_world = new b2World(new b2Vec2(0, 10), true);
var groundBodyDef = new b2BodyDef();
groundBodyDef.position.Set(SWF_HALF_WIDTH / PIXELS_TO_METRE,
SWF_HEIGHT / PIXELS_TO_METRE - 20 / PIXELS_TO_METRE);
var groundBody = _world.CreateBody(groundBodyDef);
var groundBox = new b2PolygonShape();
groundBox.SetAsBox(SWF_HALF_WIDTH / PIXELS_TO_METRE,
20 / PIXELS_TO_METRE);
var groundFixtureDef = new b2FixtureDef();
groundFixtureDef.shape = groundBox;
groundFixtureDef.density = 1;
groundFixtureDef.friction = 1;
groundBody.CreateFixture(groundFixtureDef);
var bodyDef = new b2BodyDef();
bodyDef.type = b2Body.b2_dynamicBody;
bodyDef.position.Set(SWF_HALF_WIDTH / PIXELS_TO_METRE, 4);
var body = _world.CreateBody(bodyDef);
var dynamicBox = new b2PolygonShape();
dynamicBox.SetAsBox(1, 1);
var fixtureDef = new b2FixtureDef();
fixtureDef.shape = dynamicBox;
fixtureDef.density = 1;
fixtureDef.friction = 0.3;
body.CreateFixture(fixtureDef);
var debugSprite = new Sprite();
addChild(debugSprite);
var debugDraw = new b2DebugDraw();
debugDraw.SetSprite(debugSprite);
debugDraw.SetDrawScale(PIXELS_TO_METRE);
debugDraw.SetLineThickness(1.0);
debugDraw.SetAlpha(1);
debugDraw.SetFillAlpha(0.4);
debugDraw.SetFlags(b2DebugDraw.e_shapeBit);
_world.SetDebugDraw(debugDraw);
// Add event for main loop
this.stage.enterFrame +=
delegate
{
var timeStep = 1 / 30.0;
var velocityIterations = 6;
var positionIterations = 2;
_world.Step(timeStep, velocityIterations, positionIterations);
_world.ClearForces();
_world.DrawDebugData();
};
}
示例5: 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);
}
示例6: 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();
}
示例7: StarlingGameSpriteWithPhysics
public StarlingGameSpriteWithPhysics()
{
sessionid = random.Next();
//b2Body ground_current = null;
//b2Body air_current = null;
#region ground_b2world
// first frame ... set up our physccs
// zombies!!
ground_b2world = new b2World(new b2Vec2(0, 0), false);
ground_b2world.SetContactListener(
new XContactListener()
);
var ground_b2debugDraw = new b2DebugDraw();
ground_dd = new ScriptCoreLib.ActionScript.flash.display.Sprite();
ground_dd.transform.colorTransform = new ColorTransform(0.0, 0, 1.0);
ground_b2debugDraw.SetSprite(ground_dd);
// textures are 512 pixels, while our svgs are 400px
// so how big is a meter in our game world? :)
ground_b2debugDraw.SetDrawScale(16);
ground_b2debugDraw.SetFillAlpha(0.1);
ground_b2debugDraw.SetLineThickness(1.0);
ground_b2debugDraw.SetFlags(b2DebugDraw.e_shapeBit);
ground_b2world.SetDebugDraw(ground_b2debugDraw);
#endregion
#region groundkarma_b2world
// first frame ... set up our physccs
// zombies!!
groundkarma_b2world = new b2World(new b2Vec2(0, 0), false);
var groundkarma_b2debugDraw = new b2DebugDraw();
groundkarma_dd = new ScriptCoreLib.ActionScript.flash.display.Sprite();
groundkarma_dd.transform.colorTransform = new ColorTransform(0.0, 1.0, 0.0);
groundkarma_b2debugDraw.SetSprite(groundkarma_dd);
// textures are 512 pixels, while our svgs are 400px
// so how big is a meter in our game world? :)
groundkarma_b2debugDraw.SetDrawScale(16);
groundkarma_b2debugDraw.SetFillAlpha(0.1);
groundkarma_b2debugDraw.SetLineThickness(1.0);
groundkarma_b2debugDraw.SetFlags(b2DebugDraw.e_shapeBit);
groundkarma_b2world.SetDebugDraw(groundkarma_b2debugDraw);
#endregion
#region air_b2world
// first frame ... set up our physccs
// zombies!!
air_b2world = new b2World(new b2Vec2(0, 0), false);
var air_b2debugDraw = new b2DebugDraw();
air_dd = new ScriptCoreLib.ActionScript.flash.display.Sprite();
// make it red!
air_dd.transform.colorTransform = new ColorTransform(1.0, 0, 0);
// make it slave
air_dd.alpha = 0.3;
air_b2debugDraw.SetSprite(air_dd);
// textures are 512 pixels, while our svgs are 400px
// so how big is a meter in our game world? :)
air_b2debugDraw.SetDrawScale(16);
air_b2debugDraw.SetFillAlpha(0.1);
air_b2debugDraw.SetLineThickness(1.0);
air_b2debugDraw.SetFlags(b2DebugDraw.e_shapeBit);
//.........这里部分代码省略.........
示例8: 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);
}
示例9: LoadWorld
/// <summary>
/// Attempts to load the world from the .json file given by getFilename.
/// If successful, the method afterLoadProcessing will also be called,
/// to allow subclasses to do something extra while the b2dJson information
/// is still available.
/// </summary>
private void LoadWorld()
{
Clear();
m_debugDraw = new CCBox2dDraw(DEFAULT_FONT);
m_debugDraw.AppendFlags(b2DrawFlags.e_shapeBit | b2DrawFlags.e_aabbBit | b2DrawFlags.e_centerOfMassBit | b2DrawFlags.e_jointBit | b2DrawFlags.e_pairBit);
string fullpath = GetFilename();
Console.WriteLine("Full path is: %s", fullpath);
Nb2dJson json = new Nb2dJson();
StringBuilder tmp = new StringBuilder();
m_world = json.ReadFromFile(fullpath, tmp);
if (m_world != null)
{
Console.WriteLine("Loaded JSON ok");
m_world.SetDebugDraw(m_debugDraw);
b2BodyDef bodyDef = new b2BodyDef();
m_touch = new MouseTouch(m_world, this);
m_touch.m_mouseJointGroundBody = m_world.CreateBody(bodyDef);
AfterLoadProcessing(json);
}
else
Console.WriteLine(tmp); //if this warning bothers you, turn off "Typecheck calls to printf/scanf" in the project build settings
}