title: android libgdx shoot with the Actor
body: <p>I can't shoot with my Actor. When I hold the shooting button there is the bullet in front of my Actor, but it doesn't move. I don't know how to become it moving like the meteorites...</p>
  
  <pre><code>public class Game implements ApplicationListener {
     Texture meteoriteImage;
     Texture shipImage;
     Texture bulletImage;
     SpriteBatch batch;
     OrthographicCamera camera;
     Rectangle ship;
     Rectangle bullet;
     Array&lt;Rectangle&gt; meteorites;
     long lastMeteoriteTime;
  
  
     public void create() {
        meteoriteImage = new Texture(Gdx.files.internal("meteorite.png"));
        shipImage = new Texture(Gdx.files.internal("ship.png"));
        bulletImage = new Texture(Gdx.files.internal("bullet.png"));
  
        camera = new OrthographicCamera();
        camera.setToOrtho(false, 800, 480);
        batch = new SpriteBatch();
  
        ship = new Rectangle();
        ship.x = 800 - 48;
        ship.y = 480 / 2 - 48 / 2;
        ship.width = 48;
        ship.height = 48;
  
        meteorites = new Array&lt;Rectangle&gt;();
        spawnMeteorite();
     }
  
     private void spawnMeteorite() {
        Rectangle meteorite = new Rectangle();
        meteorite.y = MathUtils.random(0, 480-48);
        meteorite.x = 0;
        meteorite.width = 48;
        meteorite.height = 48;
        meteorites.add(meteorite);
        lastMeteoriteTime = TimeUtils.nanoTime();
     }
  
  
     public void render() {
        Gdx.gl.glClearColor(0, 0, 0.2f, 1);
        Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
        camera.update();
        batch.setProjectionMatrix(camera.combined);
  
        batch.begin();
        batch.draw(shipImage, ship.x, ship.y);
        for(Rectangle meteorite: meteorites) {
           batch.draw(meteoriteImage, meteorite.x, meteorite.y);
        }
        batch.end();
  
        if(Gdx.input.isKeyPressed(Keys.DPAD_UP)) ship.y += 200 * Gdx.graphics.getDeltaTime();
        if(Gdx.input.isKeyPressed(Keys.DPAD_DOWN)) ship.y -= 200 * Gdx.graphics.getDeltaTime();
        if(Gdx.input.isKeyPressed(Keys.BUTTON_Y)){
                bullet = new Rectangle();
                bullet.x = ship.x - 48;
                bullet.y = ship.y;
                bullet.width = 48;
                bullet.height = 48;
                batch.begin();
                batch.draw(bulletImage, bullet.x, bullet.y);
                batch.end();
  
            while(bullet.x &gt; 0){
                bullet.x -= 200 * Gdx.graphics.getDeltaTime();
            }
        }
  
        if(ship.x &lt; 0) ship.x = 0;
        if(ship.x &gt; 800 - 48) ship.x = 800 - 48;
        if(ship.y &lt; 0) ship.y = 0;
        if(ship.y &gt; 480 - 48) ship.y = 480 - 48;
  
        if(TimeUtils.nanoTime() - lastMeteoriteTime &gt; 1000000000) spawnMeteorite();
  
        Iterator&lt;Rectangle&gt; iter = meteorites.iterator();
        while(iter.hasNext()) {
           Rectangle meteorite = iter.next();
           meteorite.x += 200 * Gdx.graphics.getDeltaTime();
           if(meteorite.x + 48 &lt; 0) iter.remove();
           if(meteorite.overlaps(ship)) {
  
              iter.remove();
           }
        }
     }
  
  
     public void dispose() {
        shipImage.dispose();
        meteoriteImage.dispose();
        bulletImage.dispose();
        batch.dispose();
     }
  
  
     public void resize(int width, int height) {
     }
  
  
     public void pause() {
     }
  
  
     public void resume() {
     }
  }
  </code></pre>
  
  <p>I worked with this Tutorial: <a href="https://code.google.com/p/libgdx/wiki/SimpleApp" rel="nofollow">https://code.google.com/p/libgdx/wiki/SimpleApp</a></p>