Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private float classScope;
- @Override
- public void pause() {
- final Vector2 methodScope = new Vector2(); // has to be final
- new InputAdapter() {
- private float innerClassScope;
- @Override
- public boolean touchDown(int screenX, int screenY, int pointer, int button) {
- classScope = button;
- methodScope.set(pointer, button);
- innerClassScope = pointer;
- return true;
- }
- };
- // to access variables from inside the class, you need to subclass
- MyInputAdapter myAdapter = new MyInputAdapter() {
- private float innerClassScope2;
- @Override
- public boolean keyDown(int keycode) {
- return MathUtils.randomBoolean();
- }
- @Override
- public boolean touchDown(int screenX, int screenY, int pointer, int button) {
- classScope = button;
- methodScope.set(pointer, button);
- innerClassScope = pointer;
- return true;
- }
- };
- float x = myAdapter.myAwesomeVar; // you can access it directly (even though it's private) because MyAdapter is an inner class of this screen
- float y = myAdapter.innerClassScope2; // COMPILE ERROR: innerClassScope2 is still just available in the anonymous implementation of MyInputAdapter
- }
- private class MyInputAdapter extends InputAdapter {
- private float myAwesomeVar;
- @Override
- public boolean touchUp(int screenX, int screenY, int pointer, int button) {
- myAwesomeVar += screenX;
- return super.touchUp(screenX, screenY, pointer, button);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement