Skip to main content
BioME
Known Participant
December 23, 2020
Question

Controlling fps with HTML Canvas

  • December 23, 2020
  • 1 reply
  • 930 views

I'm trying to incorporate buttons into HTML Canvas, that will allow users to speed up or slow down my animated lesson.  I was able to do this with Adobe Animate using the following code.  Obviously Action Script won't work with HTML Canvas; I'm just including it here to demonstrate where I'm starting and hopefully make it clearer what I want to do.

 

var togSLOW:Number = 10;

 

BTN_sButtonLabel.addEventListener(MouseEvent.CLICK, sButtonLabel);
function sButtonLabel(event:MouseEvent):void
{ togRATE = !togRATE;
stage.frameRate = togSLOW;
}
 

I've searched this Community Forum using various search terms such as "frame rate" and "fps," but I didn't find any conversations that answered my question.   I'm probably just not using the correct search terms.  Anyway, if someone could provide guidance I would really appreciate it.

    This topic is closed to new replies. Start a new post to keep the conversation going.

    1 reply

    JoãoCésar17023019
    Community Expert
    Community Expert
    December 23, 2020

    Hi.

     

    In the HTML5 Canvas document, each Movie Clip instance can have a different FPS. So, for example, you could code something like this:

    var root = this;
    var anim = root.anim; // the anim can be the main timeline itself
    var button = root.button;
    var slowFPS = 10;
    
    button.on("click", function(e)
    {
    	e.currentTarget.toggled = !e.currentTarget.toggled;
    	anim.framerate = e.currentTarget.toggled ? slowFPS : lib.properties.fps;
    });

     

    I hope it helps.

     

    Regards,

    JC