Java (Android Studio)에서 코드 libgdx, ... 볼을 터치 할 때 원을위한 발사체를 계산하는 방법 화면을 어떻게 표시합니까? 농구를 찍는 것과 같습니다 .... 예를 들어 원이 50 °의 각도로 0,0 (x, y)에 있습니다 ... 고맙습니다!Java (Android Studio)에서 코드 libgdx, 발사체를 계산하는 방법
2
A
답변
1
당신은 Box2D의 다음 발사체 움직임이 당신 Box2D의 엔진에 의해 처리됩니다 사용하는 경우. 선형 속도를 적용하면됩니다.
float speed,angle;
Vector2 startingVelocity =new Vector2(speed,speed);
startingVelocity.rotate((float) angle - 45);
body.setLinearVelocity(startingVelocity);
속도 및 각도는 사용자가 제공합니다.
box2d를 사용하지 않는다면 다음과 같이 볼의 위치와 속도를 처리해야합니다.
public class TestGame extends Game implements InputProcessor{
SpriteBatch spriteBatch;
Sprite ball;
Texture ballTex;
boolean isFired;
Vector2 gravity;
private float throwAngle=50;
private float deltaTime=2;
private Vector2 initialVelocity;
@Override
public void create() {
spriteBatch=new SpriteBatch();
ballTex=new Texture("image/ball.png");
ball=new Sprite(ballTex);
ball.setSize(50,50);
ball.setPosition(0,0);
Gdx.input.setInputProcessor(this);
gravity=new Vector2(0, -Gdx.graphics.getHeight()*.05f);
float throwVelocity=Gdx.graphics.getWidth()*.3f;
initialVelocity=new Vector2((float)(throwVelocity*Math.sin(throwAngle * Math.PI/180)),(float)(throwVelocity*Math.cos(throwAngle * Math.PI/180)));
}
@Override
public void render() {
super.render();
Gdx.gl.glClearColor(1,1,1,1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
updateBall();
spriteBatch.begin();
ball.draw(spriteBatch);
spriteBatch.end();
}
private void updateBall(){
if(isFired){
float delta=Gdx.graphics.getDeltaTime();
initialVelocity.x=initialVelocity.x+gravity.x*delta*deltaTime;
initialVelocity.y=initialVelocity.y+gravity.y*delta*deltaTime;
ball.setPosition(ball.getX()+initialVelocity.x * delta * deltaTime,ball.getY()+initialVelocity.y * delta * deltaTime);
}
}
@Override
public void resize(int width, int height) {
super.resize(width, height);
}
@Override
public void dispose() {
super.dispose();
ballTex.dispose();
spriteBatch.dispose();
}
@Override
public boolean keyDown(int keycode) {
return false;
}
@Override
public boolean keyUp(int keycode) {
return false;
}
@Override
public boolean keyTyped(char character) {
return false;
}
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
isFired=true;
return false;
}
@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
return false;
}
@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
return false;
}
@Override
public boolean mouseMoved(int screenX, int screenY) {
return false;
}
@Override
public boolean scrolled(int amount) {
return false;
}
}
+0
고맙습니다. 고맙습니다. –
관련 문제
- 1. Android Studio에서 Java 코드
- 2. Android Studio에서 코드 공유
- 3. Android Studio에서 Java 응용 프로그램 실행
- 4. Android Studio에서 사라지는 코드
- 5. Android Java LibGDX 음악, 사운드
- 6. android studio에서 줄을 끊는 방법 (XML 코드)?
- 7. android studio에서 editText에서 Java 코드를 컴파일하는 방법
- 8. Android Studio에서 자동으로 코드 변경
- 9. '점'위로 점프하고 시작 위치로 되돌리려는 방법 android java libgdx
- 10. Android Studio에서 Android 이외의 모듈에 Java 버전을 설정하는 방법
- 11. android studio에서 android module을 java module로 변환하는 방법
- 12. WinDev의 Java Android 코드
- 13. Android Java 코드 포맷
- 14. Android Studio에서 OpenCV 네이티브 코드 사용
- 15. LibGDX - 조건부로 Java 또는 Android 클래스 사용
- 16. 회계 연도의 일 수를 계산하는 Java 코드
- 17. 코드 네임 디버깅 Android Studio에서 하나의 앱
- 18. 발사체를 화면 가장자리로 전환
- 19. libGDX html 프로젝트 실행 방법
- 20. Android Studio 1.0.2에서 libGDX 사용
- 21. java - android studio에서 많은 클래스를 호출하십시오.
- 22. android studio에서 리스너를 접는 방법
- 23. android studio에서 pullToRefresh를 통합하는 방법
- 24. android studio에서 linphone을 실행하는 방법
- 25. Android Studio에서!
- 26. 코드 차이를 계산하는 Java 용 API가 있습니까?
- 27. 배열의 요소 수를 계산하는 Java 코드
- 28. Visual Studio에서 예외를 처리하는 방법 코드 코드
- 29. Android, libgdx, 소리 문제
- 30. 스프라이트 애니메이션 Libgdx Java
질문이 명확하지 않습니다. 글을 게시하고 이미지를 작성한 후 시도한 코드를 추가하십시오. – JonZarate
스택 오버플로에 오신 것을 환영합니다! [둘러보기] (http://stackoverflow.com/tour)를 방문하고 둘러보고 [도움말 센터] (http://stackoverflow.com/help)를 읽으십시오. 특히 [어떻게 묻는가?] 좋은 질문입니까?] (http://stackoverflow.com/help/how-to-ask) 및 [여기에 대해 내가 들려 줄 주제는 무엇입니까?] (http://stackoverflow.com/help/on-topic). –
box2d를 사용하고 있습니까? – Aryan