기본적으로, 나는 충돌 탐지를위한 기본적인 방법을 가지고 있으며, 때로는 애플릿을 실행할 때 작동하지만, 대부분의 경우 그것은 수행한다. 다음은 오류 및 일부 코드입니다.때때로이 오류가 발생하는 이유는 무엇입니까?
Exception in thread "Thread-3" java.lang.NullPointerException
at zombies.Main.checkCollision(Main.java:110)
at zombies.Main.run(Main.java:140)
at java.lang.Thread.run(Unknown Source)
public void checkCollision(){
if(player.playerRect.intersects(platform.platformRect)){ // line 110
player.dy = 0;
player.y = (platform.y - player.height);
player.isTouching = true;
}
....
@Override
public void run() {
try {
while(true){
checkCollision(); // line 140
player.move();
Thread.sleep(15);
어떤 도움을 주시면 감사하겠습니다! 미리 감사드립니다!
내 추측은 다중 스레드 응용 프로그램의 공유, 가변 데이터 동기화의 부족이 될 것입니다 발생합니다. – duffymo
빠른 답장을 보내 주셔서 감사합니다. 그러나 어떻게 해결할 수 있습니까? – hazard1994
먼저'player','player.playerRect' 또는'null' 인'platform'인지 여부를 알아야합니다. 우리는 충분한 정보를 얻지 못했습니다. –