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.
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
Thank you for help me