# Bad tempo for metronome

**URL:** <https://forum.kirupa.com/t/bad-tempo-for-metronome/324000>\
**Category:** flash\
**Created:** [July 27, 2011, 5:25pm UTC](https://forum.kirupa.com/t/bad-tempo-for-metronome/324000 "2011-07-27T17:25:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![cite\_carter](https://avatars.discourse-cdn.com/v4/letter/c/96bed5/32.png) [@cite\_carter](https://forum.kirupa.com/u/cite_carter)\
**Post date:** [July 27, 2011, 5:25pm UTC](https://forum.kirupa.com/t/bad-tempo-for-metronome/324000/1 "2011-07-27T17:25:19Z")

</div>

Hi all.  
First, sorry for my english, i’m french.  
My problem, i try to make a metronome with AS3 but i m very newbie. A french flash forum help me to do it.  
The tempo is not very good, not like a true metronome.  
Please somebody can help me to resolve it.

```auto
stop();
speed = 60;
stopBt.visible = false;
 
//cursor//
var rectangle:Rectangle = new Rectangle(0, 36, 0, 252);
 
animation.needle.cursorBt.buttonMode = true;
animation.needle.cursorBt.y = speed*1.2;
 
 
 
function Stop(e:MouseEvent):void{
    animation.stop();
}
 
 
function Restart(e:MouseEvent):void{
    animation.play();
}
 
animation.needle.cursorBt.addEventListener(MouseEvent.MOUSE_DOWN, Move);
function Move(e:MouseEvent):void{
    e.currentTarget.startDrag(false, rectangle);
    stage.frameRate = 0;
}
 
animation.needle.cursorBt.addEventListener(MouseEvent.MOUSE_MOVE, Adapt);
function Adapt(e:Event):void{
    stopBt.visible = true;
    playBt.visible = false;
 speed = animation.needle.cursorBt.y/1.2;
 this.stage.frameRate = speed;
 meter.meter.text = speed;
 trace(speed);
}
 
animation.needle.cursorBt.addEventListener(MouseEvent.MOUSE_UP, Release);
function Release(e:MouseEvent):void{
    animation.play();
    animation.needle.cursorBt.stopDrag();
}
 
//buttons//
playBt.addEventListener(MouseEvent.CLICK, Play);
function Play(e:Event):void{
    stopBt.visible = true;
    playBt.visible = false;
animation.needle.cursorBt.addEventListener(MouseEvent.MOUSE_OVER, Stop);
animation.needle.cursorBt.addEventListener(MouseEvent.MOUSE_OUT, Restart);
 this.stage.frameRate = speed;
 meter.meter.text = speed;
 animation.play();
 if (meter.meter.text == speed){
  speed = speed;
  }
}
 
stopBt.addEventListener(MouseEvent.CLICK, Stop);
function Stop(e:Event):void{
    playBt.visible = true;
    stopBt.visible = false;
 this.stage.frameRate = 0;
 speed = speed;
 animation.gotoAndStop(1);
}
 
//Speed//
var speed:int;
meter.meter.text = "60";
trace(speed);
 
 
incrBt.addEventListener(MouseEvent.MOUSE_DOWN, Increase);
function Increase(e:Event):void{
 speed = speed + 1;
 this.stage.frameRate = speed;
 compteur.compteur.text = speed;
 animation.needle.cursorBt.y = speed*1.2;
 trace(speed);
 if (speed == 240){
  meter.meter.text = "240";
  }
  if (meter.meter.text >= 240){
   meter.meter.text = "240";
   speed = 240;
   }
}
 
 decrBt.addEventListener(MouseEvent.MOUSE_DOWN, Decrease);
function Decrease(e:Event):void{
 speed = speed - 1;
 this.stage.frameRate = speed;
 meter.meter.text = speed;
 animation.needle.cursorBt.y = speed*1.2; 
 trace(speed);
 if (speed == 30){
  meter.meter.text = "30";
  }
  if (meter.meter.text <= 30){
   meter.meter.text = "30";
   speed = 30;
   }
}

```

Here my .fla : [http://www.citecarter.com/metronome.fla](http://www.citecarter.com/metronome.fla)  
Thank you for help me
