Skip to main content
rekohniknil
Participating Frequently
September 8, 2020
Answered

Setting y limits for mousewheel scroll of a movieclip (html5 canvas)

  • September 8, 2020
  • 1 reply
  • 353 views

I have created a mousewheel scroll for a movieclip to move in the y direction, however I want it to stop at the bottom and top of the movieclip. Currently, it just scrolls forever. This is  html5 canvas

-------------------------------

My script is:

canvas.addEventListener("mousewheel", scrollMC.bind(this));

function scrollMC(event) {


if (event.wheelDelta < 0 || event.detail < 0 ) { 
this.myMovieclip.y-=20; 
}
else if (event.wheelDelta > 0 || event.detail > 0 ) { 
this.myMovieclip.y+=20; 
}

}

-----------------------

Thank you for your help!

 

This topic has been closed for replies.
Correct answer JoãoCésar17023019

Hi.

 

What I like to do is to create a custom clamp method. Like this:

canvas.addEventListener("mousewheel", scrollMC.bind(this));

function scrollMC(event)
{
	if (event.wheelDelta < 0 || event.detail < 0)
	{
		this.myMovieclip.y = clamp(this.myMovieclip.y - 20, 100, 300);
	}
	else if (event.wheelDelta > 0 || event.detail > 0)
	{
		this.myMovieclip.y = clamp(this.myMovieclip.y + 20, 100, 300);
	}
}

function clamp(value, min, max)
{
	if (value < min)
		return min;
	
	if (value > max)
		return max;
	
	return value;
}

 

I hope this helps.

 

Regards,

JC

1 reply

JoãoCésar17023019
Community Expert
JoãoCésar17023019Community ExpertCorrect answer
Community Expert
September 9, 2020

Hi.

 

What I like to do is to create a custom clamp method. Like this:

canvas.addEventListener("mousewheel", scrollMC.bind(this));

function scrollMC(event)
{
	if (event.wheelDelta < 0 || event.detail < 0)
	{
		this.myMovieclip.y = clamp(this.myMovieclip.y - 20, 100, 300);
	}
	else if (event.wheelDelta > 0 || event.detail > 0)
	{
		this.myMovieclip.y = clamp(this.myMovieclip.y + 20, 100, 300);
	}
}

function clamp(value, min, max)
{
	if (value < min)
		return min;
	
	if (value > max)
		return max;
	
	return value;
}

 

I hope this helps.

 

Regards,

JC

rekohniknil
Participating Frequently
September 9, 2020

Beautiful! Thank you so much JC … I will try this out.

 

Thx,

Mike