A Flash Developer Resource Site














Internet Commerce

Partners & Affiliates














Developer Channel

internet.com


Featured Flash FLA
Gallery Downloads 11337 Flash Movies | 1 New Flash Movies Added
What's New | Top 100

Featured FLA

» Author: Bugra Ozden
» Title: Skatalog v9 - product catalog
» Description: Create your product catalog easly and publish on your website or Create your image gallery, documents list, portfolio. Fully XML Driven
» More by Bugra Ozden


Random FLAs | Add Flash Movie
Featured Flash Site
Gallery Downloads 5828 Flash Sites | 0 New Flash Links
What's New | Top 100 Flash Site

Featured Site

» Posted in the Flash Kit Links section
» Title: Creative DW Image Show PRO
» Description: Creative DW Image Show PRO is a Dreamweaver extension which enables the user to create multimedia presentations. It combines the features of the popular Creative DW Image Show with the ability to add professional text effects to slides (similar to After Effects). The product is very customizable: the user can choose the duration of the transition effects, the slide motion start and end position, zoom and panning type for both images and texts.


Random Links | Add your own Flash Related Links
Flash Tutorials 1280 Tutorials 7 New Tutorials Added!
What's New | Top100

» Make a Flash Slide Show Screen Saver
» Simple flash making tutorial for thanksgiving
» Create flash banner for website
» Create xml slideshow with free template
» How to Insert a Multilingual Subtitle Into Your Flash Video Studio
» How to Create Cool Halloween Slideshow
» Debugging flash using the Firebug console
» Create Flash Slideshow on Blogger
» FLASH TRICKS IN WEB ADVERTISING: FLASH BANNERS
» Unknown Tag: Title10
Random Tutorial | Add Site

Webmaster (IL)
Next Step Systems
US-IL-Chicago

Justtechjobs.com Post A Job | Post A Resume


Tutorials Home What's New Top Rated Submit myTutes Random!

Search Tutorials


Categories Make your own scroll bar in Flash MX
Author: Vera Fleischer | Website: http://www.mediasparkles.com |

 
Page 6
«prev 1 2 3 4 5 6

To sum up

I will no reiterate the necessary blocks of code in their entirety. For more clarity, I am including some comments as well.

Top level

Frame 1 - functions:
// display text in text field; decide whether it needs scrolling
function showText(message) {
 main.w_field.text = message;
 if (main.w_field.maxscroll > main.w_field.scroll) {
 main.gotoAndPlay("scroll_loop");
 }
}
Frame 1 - actions:
// change this variable to whatever suits your needs
my_text = "Put the text you want displayed in your text field here!
Make sure that it is plenty of text so you'll actually see the
scroll bar in action!";
showText(my_text);
stop();


Main movie clip (instance name: "main")

Frame 1 - functions:
// scrolls text field up or down
function scrollIt() {
 w_field.scroll += pressed;
 // make sure that scroll thumb always stays on track
 if (!dragging) {
 if (w_field.scroll <= 1) {
 scroll_thumb._y = scroll_thumb.min_y;
 } else if (w_field.scroll >= w_field.maxscroll){
 scroll_thumb._y = scroll_thumb.max_y;
 } else {
 scroll_thumb._y += scroll_thumb.inc*pressed;
 scroll_thumb.checkPos();
 }
 }
}
// called when pressing stops
function stopScroll() {
 still_pressed = false;
 pressed = false;
}
// after half a second check if button is still pressed
function callBack() {
 if (pressed) {
 still_pressed = true;
 } else {
 still_pressed = false;
 }
 clearInterval(checkIfPressed);
}
// arrow button functions:
up_arrow.onPress = function() {
 pressed = -1;
 if (w_field.scroll > 1) {
 scrollIt();
 }
 checkIfPressed = setInterval(callBack, 500);
}
down_arrow.onPress = function() {
 pressed = 1;
 if (w_field.scroll < w_field.maxscroll) {
 scrollIt();
 }
 checkIfPressed = setInterval(callBack, 500);
}
up_arrow.onRelease = down_arrow.onRelease = up_arrow.onReleaseOutside = down_array.onReleaseOutside = stopScroll;
// initialize scroll thumb by setting some variables
scroll_thumb.initiate = function() {
 this.initiated = true;
 this.min_y = this._y;
 this.max_y = this.min_y + (scroll_track._height - up_arrow._height - this._height) + 1;
 this.total_travel = Math.abs(this.max_y - this.min_y);
 this.inc = Math.floor(this.total_travel/w_field.maxscroll);
}
// scroll thumb drag function
scroll_thumb.drag = function() {
 this.startDrag(false, this._x, this.min_y, this._x, this.max_y);
 if (!this.org_y) {
 this.org_y = this._y;
 }
 dragging = true;
 this.onEnterFrame = whileDragging;
}
// scroll thumb button functions:
scroll_thumb.thumb_btn.onPress = function () {
 scroll_thumb.drag();
}
scroll_thumb.thumb_btn.onRelease = function () {
 dragging = false;
 pressed = false;
 still_pressed = false;
 scroll_thumb.stopDrag();
 scroll_thumb.onEnterFrame = null;
}
// make sure scroll thumb never goes beyond its max or min spots
scroll_thumb.checkPos = function () {
 if (this._y > this.max_y) {
 this._y = this.max_y;
 } else if (this._y < this.min_y) {
 this._y = this.min_y;
 }
}
// scroll thumb enterFrame function while being dragged
function whileDragging() {
 if (dragging) {
 var moved = this._y - this.org_y;
 if (Math.abs(moved) >= this.inc) {
 if (moved> 0) {
 pressed = 1;
 } else {
 pressed = -1;
 }
 this.org_y = this._y;
 scrollIt();
 // make sure text field is in tune with thumb
 if (Math.abs(this._y - this.max_y) < 1) {
 w_field.scroll = w_field.maxscroll;
 } else if (Math.abs(this._y - this.min_y) < 1) {
 w_field.scroll = 1;
 }
 } else {
 pressed = 0;
 }
 }
}
// scroll track parameters & functions
scroll_track.useHandCursor = false;
scroll_track.onPress = function () {
 rec_y = _root._ymouse - this._parent._y;
 if (rec_y > scroll_thumb._y) {
 pressed = 5;
 } else {
 pressed = -5;
 }
 scrollIt();
 checkIfPressed = setInterval(callBack, 500);
}
scroll_track.onRelease = scroll_track.onReleaseOutside = stopScroll;
Frame 1 - actions:
stop();
Frame 2 - actions:
if (!scroll_thumb.initiated) {
 scroll_thumb.initiate();
}
// keep scrolling if button or track is still pressed
if (still_pressed) {
 scrollIt();
}
// this ensures proper working of scroll thumb
if (Math.abs(scroll_thumb._y - scroll_thumb.max_y) < 1) {
 w_field.scroll = w_field.maxscroll;
} else if (Math.abs(scroll_thumb._y - scroll_thumb.min_y) < 1) {
 w_field.scroll = 1;
}
play();
Frame 3 - actions:
gotoAndPlay("scroll_loop");

That's it! If you need some more explanation of the code or you have any other questions or problems, feel free to email me!

«prev 1 2 3 4 5 6

» Level Advanced

Added: : 2002-03-23
Rating: 7.21 Votes: 116
Hits: 3771
» Author
I have been flashing for almost two years, first at an online learning company and now at a university. My dream is to one day work for Macromedia as an ActionScript Engineer!
» Download
Download the files used in this tutorial.
Download (68 kb)
Get conversion and unzipping tools for PC and Mac here!

» Forums
More help? Search our boards for quick answers!

Please rate this tutorial, 10 is the top rating, you can also click the comments link to read/write a review.
10 9 8 7 6 5 4 3 2 1
Read or Post Comments
 
   
 

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs