# How to rewrite this AS2.0 code into AS3.0?

**URL:** <https://forum.kirupa.com/t/how-to-rewrite-this-as2-0-code-into-as3-0/310804>\
**Category:** Uncategorized\
**Created:** [June 19, 2010, 7:54pm UTC](https://forum.kirupa.com/t/how-to-rewrite-this-as2-0-code-into-as3-0/310804 "2010-06-19T19:54:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andrewyuhang](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@Andrewyuhang](https://forum.kirupa.com/u/Andrewyuhang)\
**Post date:** [June 19, 2010, 7:54pm UTC](https://forum.kirupa.com/t/how-to-rewrite-this-as2-0-code-into-as3-0/310804/1 "2010-06-19T19:54:49Z")

</div>

I saw a very nice tutorial (for custom scrollbar )at

[http://www.kirupa.com/developer/flash8/scrollbar7.htm](http://www.kirupa.com/developer/flash8/scrollbar7.htm)

But the code is for AS 2.0.

Does you have any similar tutorial(or code) written for AS3.0 ?

I am a beginner of Flash, so I don’t know how to rewrite the code by myself ☹

Thanks a lot!

scrolling = function () {  
var scrollHeight:Number = scrollTrack.\_height;  
var contentHeight:Number = contentMain.\_height;  
var scrollFaceHeight:Number = scrollFace.\_height;  
var maskHeight:Number = maskedView.\_height;  
var initPosition:Number = scrollFace.\_y=scrollTrack.\_y;  
var initContentPos:Number = contentMain.\_y;  
var finalContentPos:Number = maskHeight-contentHeight+initContentPos;  
var left:Number = scrollTrack.\_x;  
var top:Number = scrollTrack.\_y;  
var right:Number = scrollTrack.\_x;  
var bottom:Number = scrollTrack.\_height-scrollFaceHeight+scrollTrack.\_y;  
var dy:Number = 0;  
var speed:Number = 10;  
var moveVal:Number = (contentHeight-maskHeight)/(scrollHeight-scrollFaceHeight);

scrollFace.onPress = function() {  
var currPos:Number = this.\_y;  
startDrag(this, false, left, top, right, bottom);  
this.onMouseMove = function() {  
dy = Math.abs(initPosition-this.\_y);  
contentMain.\_y = Math.round(dy\*-1\*moveVal+initContentPos);  
};  
};  
scrollFace.onMouseUp = function() {  
stopDrag();  
delete this.onMouseMove;  
};  
btnUp.onPress = function() {  
this.onEnterFrame = function() {  
if (contentMain.\_y+speed\<maskedView.\_y) {  
if (scrollFace.\_y\<=top) {  
scrollFace.\_y = top;  
} else {  
scrollFace.\_y -= speed/moveVal;  
}  
contentMain.\_y += speed;  
} else {  
scrollFace.\_y = top;  
contentMain.\_y = maskedView.\_y;  
delete this.onEnterFrame;  
}  
};  
};  
btnUp.onDragOut = function() {  
delete this.onEnterFrame;  
};  
btnUp.onRollOut = function() {  
delete this.onEnterFrame;  
};  
btnDown.onPress = function() {  
this.onEnterFrame = function() {  
if (contentMain.\_y-speed\>finalContentPos) {  
if (scrollFace.\_y\>=bottom) {  
scrollFace.\_y = bottom;  
} else {  
scrollFace.\_y += speed/moveVal;  
}  
contentMain.\_y -= speed;  
} else {  
scrollFace.\_y = bottom;  
contentMain.\_y = finalContentPos;  
delete this.onEnterFrame;  
}  
};  
};  
btnDown.onRelease = function() {  
delete this.onEnterFrame;  
};  
btnDown.onDragOut = function() {  
delete this.onEnterFrame;  
};

if (contentHeight\<maskHeight) {  
scrollFace.\_visible = false;  
btnUp.enabled = false;  
btnDown.enabled = false;  
} else {  
scrollFace.\_visible = true;  
btnUp.enabled = true;  
btnDown.enabled = true;  
}  
};  
scrolling();
