2014-11-22 43 views
0

我创造了一个空间,有重力和两个对象:对象不脱落

var napeWorld:Space=new Space(new Vec2(0,500)); 
var ground:FlxNapeSprite = addBox(320, 480, 640, 20, BodyType.STATIC, FlxColor.BLUE); 
var hero=addBox(320,60,20,20,BodyType.DYNAMIC, FlxColor.RED); 

这是我addBox()功能:

private function addBox(x:Float, y:Float, w:Float, h:Float,bodyType:BodyType, color:Int):FlxNapeSprite { 
    var sprite:FlxNapeSprite = new FlxNapeSprite(x, y); 
    sprite.makeGraphic(Math.ceil(w), Math.ceil(h), color); 
    sprite.body.type = bodyType; 
    sprite.body.space = napeWorld; 
    //sprite.createRectangularBody(w, h, bodyType); 
    sprite.setBodyMaterial(); 
    add(sprite); 
    return sprite; 
} 

我打电话一步我update()方法:

override public function update():Void 
{ 
    super.update(); 
    napeWorld.step(1/30); 
} 

我不明白为什么我的动态形状不落在地面上...

任何想法?

回答

1

因为您将其设置为与BodyType.STATIC一个静态的身体。

你需要BodyType.DYNAMIC让事情自己动起来。