2014-11-22 40 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讓事情自己動起來。