Java 如何防止Libgdx绘制多个对象
所以,我有一个函数,可以将对象绘制到屏幕上,每当按下鼠标左键时,就会调用这个函数。问题是,由于计算机运行速度非常快,程序认为我一直在按鼠标左键0.5秒,该函数被调用了好几次。我怎样才能防止它发生 提前谢谢 功能:Java 如何防止Libgdx绘制多个对象,java,function,libgdx,game-engine,Java,Function,Libgdx,Game Engine,所以,我有一个函数,可以将对象绘制到屏幕上,每当按下鼠标左键时,就会调用这个函数。问题是,由于计算机运行速度非常快,程序认为我一直在按鼠标左键0.5秒,该函数被调用了好几次。我怎样才能防止它发生 提前谢谢 功能: public void drawAll(){ batch.begin(); for( int i = 0; i < 10000; i++){ if( Assets.draws[i].draw == true ){ batch.draw( Assets.draws[i].sprit
public void drawAll(){
batch.begin();
for( int i = 0; i < 10000; i++){
if( Assets.draws[i].draw == true ){ batch.draw( Assets.draws[i].sprite, Assets.draws[i].x, Assets.draws[i].y); }
}
batch.end();
}
public void pressedLeft(){
float x = Gdx.input.getX();
float y = Gdx.input.getY();
boolean contin = true;
for( int i = 0; i < 10000; i++){
if( contin == true && Assets.draws[i].draw == false ){ Assets.draws[i].draw = true; contin = false; Assets.draws[i].x = x; Assets.draws[i].y = y; }
}
}
@Override
public void render(){
.
.
.
drawAll();
if( Gdx.input.isButtonPressed( Input.Buttons.LEFT ) ){ pressedLeft(); }
}
寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。现在好了吗?好多了。您必须记住按下的状态,并且只有在按下的第一次从false变为true时才会做出反应。libgdx甚至可能包含这方面的功能,其中一个功能仅在按下或释放键时触发,而不是在按住键时触发。最终解决了问题。我创建了一个实现InputProcessor的新类,该类有一个名为touchUp的函数,因此我能够使它工作。谢谢你的帮助。下次我提问时会更加谨慎。