Return to Kroll Web Design home page Return to Flash / ActionScript page
« Return

Action Script 2 code for the Texas interactive map:

//Main timeline:

var reset_ctr;

_root.reset_BTNI.onPress = function() {

if (reset_ctr > 0)
{
_root.map_MCI._xscale = 19.5;
_root.map_MCI._yscale = 19.5;

_root.map_MCI._x = 213.5;
_root.map_MCI._y = 241;

reset_ctr = 0;

}
else
{
_root.map_MCI._xscale = 40;
_root.map_MCI._yscale = 40;

_root.map_MCI._x = 20;
_root.map_MCI._y = 250;

reset_ctr = 1;
}
}

_root.map_MCI.onDragOut = function () {
	trace ("onDragOut called");
};

_root.next_tip_BTNI.onPress = function() {
 
if (_root.instructions_MCI._currentframe<=4) 
		_root.instructions_MCI.nextFrame ();
else _root.instructions_MCI.gotoAndStop(1);
	}
	
	
//map_MCI movie clip:

//----------------------------------------------------------
onClipEvent(mouseDown)
{
var clip_width;
var clip_height;
var xmouse;
var ymouse;
var x_top_left;
var y_top_left;
var x_btm_right;
var y_btm_right;
var inside_image;

clip_width = _root.map_MCI._width;
clip_height = _root.map_MCI._height;

xmouse = _root._xmouse;
ymouse = _root._ymouse;

x_top_left = _x - (clip_width/2);
y_top_left = _y - (clip_height/2);

x_btm_right = _x + (clip_width/2);
y_btm_right = _y + (clip_height/2)

if 
((xmouse > x_top_left) &&
 (ymouse > y_top_left) &&
 (xmouse < x_btm_right) &&
 (ymouse < y_btm_right) &&
 (ymouse > 32))
    {
     inside_image = 1;
     startDrag(this);
     _root.reset_ctr = 0;
     var x_start_drag;
     var y_start_drag;
     x_start_drag = _x;
     y_start_drag = _y;
    }
else inside_image = 0;

}

//----------------------------------------------------------
onClipEvent(mouseUp)
{
stopDrag();


var x_stop_drag;
var y_stop_drag;

var xdist_dragged;
var ydist_dragged;

var xabsdist_dragged;
var yabsdist_dragged;

x_stop_drag = _x;
y_stop_drag = _y;

xdist_dragged = x_stop_drag - x_start_drag;
ydist_dragged = y_stop_drag - y_start_drag;

xabsdist_dragged = Math.abs(xdist_dragged); 
yabsdist_dragged = Math.abs(ydist_dragged); 

}

//----------------------------------------------------------
onClipEvent(mouseUp)
{

if ((xabsdist_dragged < 5) && (yabsdist_dragged < 5)
 && (_root._ymouse > 32))
  {

//===========================================================
// DECLARE VARIABLES
//-----------------------------------------------------------

var movie_width;
var movie_height;

var movie_xcenter;
var movie_ycenter;

var xmouse_pre_zoom;
var xmouse_post_zoom;

var ymouse_pre_zoom;
var ymouse_post_zoom;

var xcenter_pre_zoom;
var xcenter_post_zoom;

var ycenter_pre_zoom;
var ycenter_post_zoom;

var xdist_to_imgcenter_pre_zoom;
var ydist_to_imgcenter_pre_zoom;

var xdist_to_imgcenter_post_zoom;
var ydist_to_imgcenter_post_zoom;

var xdist_to_shift;
var ydist_to_shift;

var zoom;

//===========================================================
// INITIALIZE STARTING VARIABLES 
//-----------------------------------------------------------

movie_width = 427;
movie_height = 450;

movie_xcenter = movie_width / 2;
movie_ycenter = movie_height / 2;

zoom = 1.5;

//===========================================================
// BEFORE ZOOMING IN, 
// DETERMINE AREA OF INTEREST (WHERE MOUSE WAS CLICKED)
//-----------------------------------------------------------

xmouse_pre_zoom = _root._xmouse;
ymouse_pre_zoom = _root._ymouse;

//===========================================================
// BEFORE ZOOMING IN, DETERMINE CENTER OF IMAGE
//-----------------------------------------------------------

xcenter_pre_zoom = _x;
ycenter_pre_zoom = _y;

//===========================================================
// BEFORE ZOOMING IN, DETERMINE DISTANCE BETWEEN 
// AREA OF INTEREST AND THE CENTER OF IMAGE
//-----------------------------------------------------------

xdist_to_imgcenter_pre_zoom = xcenter_pre_zoom - xmouse_pre_zoom;
ydist_to_imgcenter_pre_zoom = ycenter_pre_zoom - ymouse_pre_zoom;


//===========================================================
// ZOOM IN 
//-----------------------------------------------------------

_xscale = _xscale * zoom;
_yscale = _yscale * zoom;
_root.reset_ctr = 0;

//===========================================================
// AFTER ZOOMING IN, BUT BEFORE MOVING THE IMAGE, THE 
// CENTER OF THE IMAGE HAS THE SAME COORDINATES AS BEFORE
// THE ZOOM.
//-----------------------------------------------------------

xcenter_post_zoom = _x;
ycenter_post_zoom = _y;

//===========================================================
// DETERMINE HOW MUCH THE ZOOM IN INCREASED DISTANCE BETWEEN 
// AREA OF INTEREST AND THE CENTER OF IMAGE
//-----------------------------------------------------------

xdist_to_imgcenter_post_zoom = xdist_to_imgcenter_pre_zoom * zoom;
ydist_to_imgcenter_post_zoom = ydist_to_imgcenter_pre_zoom * zoom;

//===========================================================
// DETERMINE POST-ZOOM PRE-SHIFT AREA OF INTEREST 
//-----------------------------------------------------------
xmouse_post_zoom = xcenter_post_zoom - xdist_to_imgcenter_post_zoom;
ymouse_post_zoom = ycenter_post_zoom - ydist_to_imgcenter_post_zoom;

//===========================================================
// DETERMINE DISTANCE FROM POST-ZOOM AREA OF INTEREST
// TO CENTER OF WINDOW. 
//-----------------------------------------------------------

xdist_to_shift = movie_xcenter - xmouse_post_zoom;
ydist_to_shift = movie_ycenter - ymouse_post_zoom;

_x = _x + xdist_to_shift;
_y = _y + ydist_to_shift;

}
}



©2009 Kroll Web Design    davidarthurkroll@verizon.net    781.449.2129

Valid XHTML 1.0 Transitional Valid CSS!