Android LibGDX'无法解析符号setRadius'

时间:2015-06-11 16:22:16

标签: java android libgdx

我正在使用Box2d,libGDX并已导入... physics.box2d.CircleShape;我做错了什么,因为setRadius是不可接受的。谢谢你的时间。

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.physics.box2d.BodyDef;
import com.badlogic.gdx.physics.box2d.CircleShape;
import com.badlogic.gdx.physics.box2d.Fixture;
import com.badlogic.gdx.physics.box2d.FixtureDef;
import com.badlogic.gdx.physics.box2d.PolygonShape;
import com.badlogic.gdx.physics.box2d.Shape;
import com.badlogic.gdx.physics.box2d.World;
import com.sun.xml.internal.ws.client.sei.ResponseBuilder;
import sun.security.pkcs11.wrapper.Constants;

我正在尝试遵循Github教程。我检查了API指南,并遵循了功能规则。它并不是在建议进口。

enter image description here

3 个答案:

答案 0 :(得分:1)

尝试刷新gradle的所有依赖项。我认为你使用Android Studio。 Here是如何用它来刷新的。

如果您使用Eclipse - >右键单击项目 - > Gradle - >全部刷新。

答案 1 :(得分:1)

Box2d原生代码,在代码中加载,创建世界级,你必须在使用之前加载它们,或者也可以使用box2d.init(),我的英文非常糟糕你可以在这里阅读:

http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/physics/box2d/package-summary.html

P.S:我不太清楚错误是什么,我现在看不出来但我认为这会有所帮助

新:

resulting this error:
java.lang.UnsatisfiedLinkError: com.badlogic.gdx.physics.box2d.CircleShape.newCircleShape()J
at com.badlogic.gdx.physics.box2d.CircleShape.newCircleShape(Native Method)
at com.badlogic.gdx.physics.box2d.CircleShape.(CircleShape.java:30)

现在只是寻找网络,如果你有这样的错误,我认为它应该加载,box2d在世界crearcion或box2d.init()之前;在使用课程之前。

错误已经确认,在这个帖子中,我不记得它是什么,但是他之前加载了presenset - > https://github.com/libgdx/libgdx/issues/2393

答案 2 :(得分:1)

故事的道德:将指令放在函数内部。不要把它们放在类中,就像变量一样。对不起,我花了一个多小时才弄明白我是多么愚蠢。我所知道的语言甚至不允许即使对于构造函数我也很抱歉,我会知道。感谢您忍受这一点,我确实从您的所有建议中学到了一些东西。如果需要,我会编辑/删除问题。

@Override
public void create () {
    batch = new SpriteBatch();

    // Initiate Sprite
    img = new Texture("heavybreathing.jpg");
    sprite = new Sprite(img);
    Red = new Sprite(new Texture("Red.png"));

    screenHeight = Gdx.graphics.getHeight();
    screenWidth = Gdx.graphics.getWidth();

    font = new BitmapFont();
    font.setColor(Color.GREEN);
    font.getData().scale(5);

    Gdx.input.setInputProcessor(this);


    CircleShape circle1 = new CircleShape();
    circle1.setRadius(6f);

}