FlipperPieceLoop Actionscript
Table of contents | Previous document | Download FlipperPieceLoop.as | SWF!T Homepage RCSfile: FlipperPieceLoop.as,v Revision: 1.4 Date: 2003/03/20 14:13:06
Copyright 2003 Orgdot AS. All Rights Reserved. http://dev.swfit.com
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Loop for each flipper piece.
author Olaf Havnes
version Revision: 1.4 Date: 2003/03/20 14:13:06
since SWFIT1.0
Means a button has been pressed
if (pos != pos_old)
{
if (pos < pos_old)
{
Go there directly
move_state = STATE_RESTING;
}
else
{
Make sure we never go down without passing the top point.
move_state = STATE_RISING;
}
pos_old = pos;
}
Make sure we go beyond the endpoints of the conveyor belt
if (move_state == STATE_RISING)
{
p1 = _parent.start_y;
v += (p1 - p0) * RISE_AC - v * RISE_FR;
p0 += v;
_y = p0;
moving = true;
if (p0 <= _parent.start_y + 1)
{
move_state = STATE_FALLING;
}
}
else if (move_state == STATE_FALLING)
{
p1 = _parent.end_y;
v += (p1 - p0) * FALL_AC - v * FALL_FR;
p0 += v;
_y = p0;
moving = true;
if (p0 >= _parent.end_y - 1)
{
move_state = STATE_RESTING;
}
}
else
{
p1 = eval ("../:pos_" add pos);
v += (p1 - p0) * REST_AC - v * REST_FR;
p0 += v;
if (v * v < 0.5)
{
moving = false;
}
else
{
_y = int (p0);
moving = true;
}
}
Make the button inactive when we are the current selected clip.
button._visible = _parent.current != which;
|
|