2017-01-07 4 views
0

Je pense qu'il est à peu près expliciteBox2d libgdx n'acceptera BodyType comme paramètre

http://image.prntscr.com/image/b699a17ac7954732b18b275689425227.png http://image.prntscr.com/image/86fc8d49e513402bac04f57483fbbe04.png

Désolé, je ne pouvais pas télécharger des photos directement parce que je n'ai pas assez réputation.

@code ajouté

code de méthode init

terrainBodyUp=createPhysicsObjectFromGraphics(terrainAbove, 
      new Vector2(terrainAbove.getRegionWidth()/2,480- terrainAbove.getRegionHeight()/2), 
      BodyDef.BodyType.StaticBody); 

Et ma createPhysicsObjectFromGraphics méthode

private Body createPhysicsObjectFromGraphics(TextureRegion region, 
              Vector2 position, BodyDef.BodyType bodyType) { 
    BodyDef boxBodyDef = new BodyDef(); 
    boxBodyDef.type = bodyType; 
    boxBodyDef.position.x = position.x/BOX2D_TO_CAMERA_; 
    boxBodyDef.position.y = position.y/BOX2D_TO_CAMERA_; 
    Body boxBody = world.createBody(boxBodyDef); 
    PolygonShape boxPoly = new PolygonShape(); 
    boxPoly.setAsBox(region.getRegionWidth()/(2*BOX2D_TO_CAMERA_), 
      region.getRegionHeight()/(2*BOX2D_TO_CAMERA_)); 
    FixtureDef fixtureDef = new FixtureDef(); 
    fixtureDef.shape = boxPoly; 
    fixtureDef.density=1; 
    fixtureDef.restitution=0.2f; 
    boxBody.createFixture(fixtureDef); 
    boxPoly.dispose(); 
    boxBody.setUserData(region); 
    return boxBody; 
} 
+0

est plus de code possible? – Moira

+0

Je vais juste aller de l'avant et dire que cela n'a probablement rien à voir avec Box2D ou libGDX – Moira

+0

Eh bien cela n'a aucun sens, j'ai créé la fonction et comme vous pouvez le voir, comme le type de paramètre que j'ai défini BodyDef.BodyType mais quand je passe BodyDef.BodyType.Dynamic produit une erreur. Si j'assigne directement BodyDef.BodyType.Dynamic à l'intérieur de la fonction, cela fonctionne. – Jumpman

Répondre

0

Merci à @Abishek Aryan pour m'avoir indiqué dans la bonne direction. Quand j'ai "remplacé tout" j'ai changé accidentellement le type de données et cela m'a causé des problèmes. Donc, au lieu d'utiliser Body comme type de données, j'ai utilisé BodyDef.BodyType

0

erreur types Incompatible parce que la méthode createPhysicsObjectFromGraphics corps de retour et vous affectez dans la variable terrainBodyUp qui est le type de BodyDef.BodyType.