public void onAction(String binding, boolean value, float tpf) {
            int relvel = this.muzzle_velocity;
           
            if (binding.equals("shoot") && !value && this.app.begin ) {
                        Geometry bulletg = new Geometry("bullet", bullet);
                        bulletg.setMaterial(mat2);
                        bulletg.setName("Bullet");
                        bulletg.setShadowMode(shadowMode.CastAndReceive);
                        bulletg.setLocalTranslation(this.app.getCamera().getLocation().add(this.app.getCamera().getDirection().mult(new Vector3f(3.5f,3.5f,3.5f))));
                        this.app.getRootNode().attachChild(bulletg);
                        SphereCollisionShape bulletCollisionShape = new SphereCollisionShape(0.4f);
                        
                        RigidBodyControl bulletNode = new BombControl(this.app,assetManager, bulletCollisionShape, 55);
        //                RigidBodyControl bulletNode = new RigidBodyControl(bulletCollisionShape, 1);
                        bulletg.addControl(bulletNode);
                        if(this.app.up&&!this.app.down)relvel+=30;
                        if(this.app.down&&!this.app.up)relvel-=30;
                        bulletNode.setLinearVelocity(this.app.getCamera().getDirection().mult(relvel));
                        
                        this.app.bulletAppState.getPhysicsSpace().add(bulletNode);
                        
                        
                        audio_shoot.playInstance();
                    }
                    if (binding.equals("gc") && !value) {
                        System.gc();
                    }
     }