skiboy где-то скрипт был для Экшн Скрипта... у меня нет и не пробовал. Но в нете видел таких книжек 3-и.
Такой вот скрипт из swf-файла [Только зарегистрированные пользователи могут видеть ссылки. ]
// Action script...
// [onClipEvent of sprite 18 in frame 1]
onClipEvent (load)
{
function cornerPeel(curlValue)
{
if (_parent._parent.book_r.corner.inPlace)
{
pageRotation = pageRotation - 2;
if (pageRotation < curlValue)
{
pageRotation = curlValue;
} // end if
pageCurl();
} // end if
} // End of the function
function calculateCurl(curlValue, direction)
{
pageRotation = curlValue;
pageRotation = Math.ceil(Math.min(Math.max(pageRotationEnd, pageRotation), pageRotationStart));
pageCurl();
} // End of the function
function finishCurl()
{
if (pageRotation < pageRotationStart / 1.800000)
{
finishDirection = -4;
}
else
{
finishDirection = 4;
} // end if
pageRotation = pageRotation + finishDirection;
pageRotation = Math.ceil(Math.min(Math.max(pageRotationEnd, pageRotation), pageRotationStart));
if (pageRotation == pageRotationStart || pageRotation == pageRotationEnd)
{
pageRotation = pageRotationStart;
isReleased = false;
finishingCurl = false;
if (finishDirection < 0)
{
currentPage = currentPage - 2;
currentPage = Math.max(0, currentPage);
updatePages();
} // end if
} // end if
pageCurl();
} // End of the function
function pageCurl()
{
_parent.curlBack._rotation = _parent.gradientMask._rotation = pageRotation;
_parent.curlMask._rotation = _parent.curlGrad._rotation = _parent.curlShad._rotation = pageRotation / 2;
if (pageRotation < 20)
{
_parent.curlGrad._alpha = pageRotation * 2;
_parent.curlShad._alpha = pageRotation * 4;
}
else if (_parent.curlShad._rotation < 40)
{
_parent.curlShad._alpha = 100;
} // end if
} // End of the function
function updatePages()
{
_parent.pageLeft.content.gotoAndStop("page" + (currentPage + 2));
_parent.curlFace.content.gotoAndStop("page" + (currentPage + 1));
if (currentPage == 0)
{
_parent._x = 12000;
}
else
{
_parent._x = initPos;
} // end if
if (currentPage >= totalPages - 2)
{
_parent.pageLeft.content.gotoAndStop("pageEnd");
} // end if
} // End of the function
function updateCurl()
{
if (currentPage >= totalPages - 2)
{
_parent.pageLeft.content.gotoAndStop("pageEnd");
} // end if
_parent.pageRight.content.gotoAndStop("page" + (currentPage - 1));
_parent.curlBack.content.gotoAndStop("page" + currentPage);
_parent.curlFace.content.gotoAndStop("page" + (currentPage + 1));
if (currentPage == 0)
{
_parent._x = 12000;
}
else
{
_parent._x = initPos;
} // end if
_parent.curlGrad._alpha = 40;
} // End of the function
currentPage = 0;
totalPages = _parent._parent.totalPages;
initPos = _parent._parent.initPos - 0.100000;
pageRotationEnd = 0;
pageRotationStart = 90;
pageRotation = pageRotationStart;
posRight = 298;
posLeft = -298;
step = (posRight - posLeft) / pageRotationStart;
isReleased = false;
isDragging = false;
finishingCurl = false;
onCorner = false;
updateCurl();
}
onClipEvent (mouseMove)
{
_x = _parent._xmouse;
_y = _parent._ymouse;
updateAfterEvent();
onCorner = this.hitTest(_parent.rCorner) && !finishingCurl;
curlPosition = pageRotationStart - (posRight - _x) / step;
if (onCorner)
{
gotoAndStop(2);
if (!_parent._parent.reversed && _parent._parent.book_r.corner.inPlace)
{
_parent.swapDepths(_parent._parent.book_r);
_parent._parent.reversed = true;
} // end if
cornerPeel(curlPosition);
updateCurl();
}
else
{
gotoAndStop(1);
} // end if
if (isDragging)
{
gotoAndStop(2);
} // end if
if (isDragging && !finishingCurl)
{
calculateCurl(curlPosition);
} // end if
}
onClipEvent (enterFrame)
{
inPlace = !finishingCurl && !onCorner && !isDragging && !isReleased;
if (inPlace && pageRotation != pageRotationStart)
{
finishCurl();
} // end if
if (isReleased)
{
if (!finishingCurl)
{
finishingCurl = true;
if (!isDragging)
{
} // end if
} // end if
finishCurl();
_parent._parent.book_r.corner.currentPage = currentPage;
_parent._parent.book_r.corner.updatePages();
} // end if
}
// [Action in Frame 1]
stop();
источник: [Только зарегистрированные пользователи могут видеть ссылки. ]
в своё время для фирмы писал такой компонент. но с одним большим плюсом - все картинки альбома задавались и подгружались через xml. я спрошу, можно ли выкладывать исходники и, возможно, выложу здесь
очень было бы хорошо
// Action script...
мега спасибо тебе, добрый ты человек