Android 在AndEngine游戏中重用障碍

Android 在AndEngine游戏中重用障碍,android,Android,我在使用和引擎制作游戏时遇到问题这是一个两车游戏,其中两个障碍物从屏幕顶部落下,当一个障碍物达到车的高度*4时,第二个障碍物开始落下。当第一个障碍物达到相机的最大高度时,重置其位置。当第二个障碍物达到车的高度*4时然后,第一个障碍物再次从屏幕顶部坠落,下面是一些代码 new Timer().schedule(new TimerTask() { @Override public void run() { // TOD

我在使用和引擎制作游戏时遇到问题这是一个两车游戏,其中两个障碍物从屏幕顶部落下,当一个障碍物达到车的高度*4时,第二个障碍物开始落下。当第一个障碍物达到相机的最大高度时,重置其位置。当第二个障碍物达到车的高度*4时然后,第一个障碍物再次从屏幕顶部坠落,下面是一些代码

new Timer().schedule(new TimerTask() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                 rt_left_obstacle1=new Rectangle(0,0,20,20,MainActivity.getSharedInstance().getVertexBufferObjectManager());
                 rt_left_obstacle2=new Rectangle(0,0,20,20,MainActivity.getSharedInstance().getVertexBufferObjectManager());
                 rt_left_obstacle1.setPosition((mCamera.getWidth()/5)/2,0);
                  rt_left_obstacle2.setPosition((mCamera.getWidth()/5)/2,-mCamera.getHeight());  
                 rt_left_obstacle1.setColor(1,0,0);
                    rt_left_obstacle2.setColor(1,0,0);
                  for(int i=100;i<=mCamera.getHeight();i=i+100){
                     rt_left_obstacle1.registerEntityModifier(new MoveYModifier(3,rt_left_obstacle1.getY(),mCamera.getHeight()));
                     if(i==left_car.getHeight()*4){
                         rt_left_obstacle2.registerEntityModifier(new MoveYModifier(2,rt_left_obstacle2.getY(),mCamera.getHeight())); 

                     }
                     if(i==mCamera.getHeight()){
                          rt_left_obstacle1.setPosition((mCamera.getWidth()/5)/2,0);

                     }
                         if(rt_left_obstacle2.getY()==mCamera.getHeight()){
                          rt_left_obstacle2.setPosition((mCamera.getWidth()/5)/2,-mCamera.getHeight());  
                     }

            }

            }
        }, 2000,200);
new Timer().计划(new TimerTask()){
@凌驾
公开募捐{
//TODO自动生成的方法存根
rt_left_obstacle1=新矩形(0,0,20,20,MainActivity.getSharedInstance().getVertexBufferObjectManager());
rt_left_obstacle2=新矩形(0,0,20,20,MainActivity.getSharedInstance().getVertexBufferObjectManager());
rt_left_obstacle1.setPosition((mCamera.getWidth()/5)/2,0);
rt_left_obstacle2.setPosition((mCamera.getWidth()/5)/2,-mCamera.getHeight());
rt_left_obstacle1.setColor(1,0,0);
rt_left_obstacle2.setColor(1,0,0);

对于(inti=100;i使用andengine中的GenericPool类。它将创建精灵(在您的情况下,可以说它是障碍物)当你使用精灵完成后,它会将精灵回收到池中,当你想再次使用精灵时,你只需从池中获取它..而且你不必一次又一次地创建精灵..google GenericPool你会发现很多示例和教程...:)

您的预期输出是什么?您的问题是什么?有两个障碍我希望这两个障碍从屏幕顶部一个接一个地落下。。