Page Turning Effect @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 28 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
Xavec
новый человек
0
Сообщения: 163
Зарегистрирован: 16.01.03
Откуда: Mскв.
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 16 Январь 2003, 22:41:00 
Мне нужен скрипт для создания эффекта перелистывания страниц. Если кто знает как это делается то пожалуйста поделитесь.
Пример смотрите здесь

[ 16 Января 2003: Исправлено Xavec ]
Nights
Степной волк
15
Сообщения: 5182
Зарегистрирован: 09.01.02
Откуда: Питер
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 17 Январь 2003, 11:20:00 
а ты серьезно думаешь что это скриптом сделано ? =)
Diogen
постоянный участник
6
Сообщения: 3002
Зарегистрирован: 14.02.02
Откуда: Питер
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 17 Январь 2003, 14:23:00 
Вроде где то на Jave подобное видел, а технология простая - изучаешь как страницы перелистываются и формулы математические выводишь - описывающие это безобразие - вот и всё. [img]smoke.gif[/img]
Nights
Степной волк
15
Сообщения: 5182
Зарегистрирован: 09.01.02
Откуда: Питер
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 17 Январь 2003, 14:42:00 
работаешь с масками и таймлайном
или по кадрам сделай и работай только с таймлайном
AgA-1 Муж.
участник
26
Сообщения: 1526
Зарегистрирован: 04.10.02
Откуда: TGN
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 17 Январь 2003, 14:46:00 
нарисовать страничку и как она перевертываеться - все дела [img]images/smiles/icon_smile.gif[/img] и разбить таймлайн на кучу фишек стопами. - каждая фишка - одна страница. скопировать ффект на каждую фишку. сколько страниц столько фишек. !
Xavec
новый человек
0
Сообщения: 163
Зарегистрирован: 16.01.03
Откуда: Mскв.
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 18 Январь 2003, 00:18:00 
Ну я думаю что без скрипта здесь дело не обошлось. Страницы то надо как-то перетаскивать.
Xavec
новый человек
0
Сообщения: 163
Зарегистрирован: 16.01.03
Откуда: Mскв.
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 18 Январь 2003, 00:20:00 
И вообще, под словом "Скрипт" я подразумевал не код ActionScript, а технологию создания
Xavec
новый человек
0
Сообщения: 163
Зарегистрирован: 16.01.03
Откуда: Mскв.
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 18 Январь 2003, 14:20:00 
// Action script...

// [Action in Frame 1]

function checkLoading()
{
if (!this.prompt)
{
this.createTextField("prompt", 0, Stage.width / 2 - 100, Stage.height / 2 - 10, 200, 20);
this.promptFormat = new TextFormat();
this.promptFormat.color = 16777215;
this.prompt.setNewTextFormat(this.promptFormat);
} // end if
this.prompt.text = Math.floor(100 * (this.getBytesLoaded() / this.getBytesTotal())) + "% OF " + Math.round(this.getBytesTotal() / 100) / 10 + "KO LOADED";
if (this.getBytesLoaded() >= this.getBytesTotal())
{
clearInterval(this.checkLoadingId);
this.prompt.text = "";
gotoAndStop(3);
} // end if
} // End of the function
this.checkLoadingId = setInterval(this, "checkLoading", 50);
stop();

// [Action in Frame 3]
_root.PI = 3.141000;
MovieClip.prototype.setBook = function ()
{
this.decAlpha = 3;
this.incAngle = 30;
var addCenter = 200;
var pushSize = 50;
var slowDiv = 4;
this.slowDec = 10;
this.waitForEvent = new Object();
this.zind = 1;
this.board = this.getBounds(this);
this.board.height = this.board.yMax - this.board.yMin;
this.board.width = this.board.xMax - this.board.xMin;
this.zind++;
this.createEmptyMovieClip("maskBoardOpen", this.zind);
this.maskBoardOpen.beginFill(16777215, 100);
this.maskBoardOpen.moveTo(this.board.xMin, this.board.yMin - this.board.height);
this.maskBoardOpen.lineTo(this.board.xMax, this.board.yMin - this.board.height);
this.maskBoardOpen.lineTo(this.board.xMax, this.board.yMax);
this.maskBoardOpen.lineTo(this.board.xMin, this.board.yMax);
this.maskBoardOpen.lineTo(this.board.xMin, this.board.yMin - this.board.height);
this.maskBoardOpen._visible = false;
this.zind++;
this.createEmptyMovieClip("maskBoardClose", this.zind);
this.maskBoardClose.beginFill(16777215, 100);
this.maskBoardClose.moveTo(this.board.xMin, this.board.yMin);
this.maskBoardClose.lineTo(this.board.xMax, this.board.yMin);
this.maskBoardClose.lineTo(this.board.xMax, this.board.yMax);
this.maskBoardClose.lineTo(this.board.xMin, this.board.yMax);
this.maskBoardClose.lineTo(this.board.xMin, this.board.yMin);
this.maskBoardClose._visible = false;
var i = 0;
this.zind++;
if (this.attachMovie("page" + i, "page" + i, this.zind))
{
this["page" + i].zind = this.zind - 1;
this["page" + i]._visible = false;
this["page" + i].bound = this["page" + i].getBounds(this["page" + i]);
var addMask = Math.abs(this["page" + i].bound.xMax - this["page" + i].bound.xMin);
if (Math.round(i / 2) != i / 2)
{
this["page" + i].radius = Math.sqrt(Math.pow(this["page" + i].bound.xMax, 2) + Math.pow(this["page" + i].bound.yMax, 2));
this["page" + i].angle = (this["page" + i].bound.xMax < 0 ? -1 : 1) * Math.acos(this["page" + i].bound.yMax / this["page" + i].radius) + _root.PI / 2;
this.zind++;
this.createEmptyMovieClip("maskOpen" + i, this.zind);
this["maskOpen" + i].beginFill(16711680, 100);
this["maskOpen" + i].moveTo(this["page" + i].bound.xMin - addMask, this["page" + i].bound.yMin - addMask);
this["maskOpen" + i].lineTo(this["page" + i].bound.xMax, this["page" + i].bound.yMin - addMask);
this["maskOpen" + i].lineTo(this["page" + i].bound.xMax, this["page" + i].bound.yMax + addMask);
this["maskOpen" + i].lineTo(this["page" + i].bound.xMin - addMask, this["page" + i].bound.yMax + addMask);
this["maskOpen" + i].lineTo(this["page" + i].bound.xMin - addMask, this["page" + i].bound.yMin - addMask);
this["maskOpen" + i].endFill();
this["maskOpen" + i].radius = this["page" + i].radius;
this["maskOpen" + i].angle = this["page" + i].angle;
this["maskOpen" + i]._visible = false;
this["page" + i]._x = this.board.xMin - this["page" + i].bound.xMin;
this["page" + i]._y = this.board.yMin - this["page" + i].bound.yMin;
}
else
{
this["page" + i].radius = Math.sqrt(Math.pow(this["page" + i].bound.xMin, 2) + Math.pow(this["page" + i].bound.yMax, 2));
this["page" + i].angle = (this["page" + i].bound.xMin <= 0 ? -1 : 1) * Math.acos(this["page" + i].bound.xMin / this["page" + i].radius);
this.zind++;
this.createEmptyMovieClip("maskOpen" + i, this.zind);
this["maskOpen" + i].beginFill(16711680, 100);
this["maskOpen" + i].moveTo(this["page" + i].bound.xMin, this["page" + i].bound.yMin - addMask);
this["maskOpen" + i].lineTo(this["page" + i].bound.xMax + addMask, this["page" + i].bound.yMin - addMask);
this["maskOpen" + i].lineTo(this["page" + i].bound.xMax + addMask, this["page" + i].bound.yMax + addMask);
this["maskOpen" + i].lineTo(this["page" + i].bound.xMin, this["page" + i].bound.yMax + addMask);
this["maskOpen" + i].lineTo(this["page" + i].bound.xMin, this["page" + i].bound.yMin - addMask);
this["maskOpen" + i].endFill();
this["maskOpen" + i].radius = this["page" + i].radius;
this["maskOpen" + i].angle = this["page" + i].angle;
this["maskOpen" + i]._visible = false;
this["page" + i]._x = this.board.xMax - this["page" + i].bound.xMax;
this["page" + i]._y = this.board.yMax - this["page" + i].bound.yMax;
} // end if
this.zind++;
this.createEmptyMovieClip("maskPage" + i, this.zind);
this["maskPage" + i].beginFill(16711680, 100);
this["maskPage" + i].moveTo(this["page" + i].bound.xMin, this["page" + i].bound.yMin);
this["maskPage" + i].lineTo(this["page" + i].bound.xMax, this["page" + i].bound.yMin);
this["maskPage" + i].lineTo(this["page" + i].bound.xMax, this["page" + i].bound.yMax);
this["maskPage" + i].lineTo(this["page" + i].bound.xMin, this["page" + i].bound.yMax);
this["maskPage" + i].lineTo(this["page" + i].bound.xMin, this["page" + i].bound.yMin);
this["maskPage" + i].endFill();
this["maskPage" + i].radius = this["page" + i].radius;
this["maskPage" + i].angle = this["page" + i].angle;
this["maskPage" + i]._visible = false;
this.zind++;
this["maskOpen" + i].duplicateMovieClip("maskClose" + i, this.zind);
this["maskClose" + i]._visible = false;
this["maskClose" + i].radius = this["page" + i].radius;
this["maskClose" + i].angle = this["page" + i].angle;
i++;
// Jump to 2365
} // end if
this.nbPage = i;
this.zind++;
this.createEmptyMovieClip("shadowSpread", this.zind);
this.shadowSpread.setMask(this.maskBoardOpen);
this.zind++;
this.createEmptyMovieClip("shadowBack", this.zind);
this.shadowBack.setMask(this.maskBoardClose);
this.zind++;
this.createEmptyMovieClip("shadowOver", this.zind);
this.yCenter = this.board.yMax + this.board.height + addCenter;
this.xCenter = (this.board.xMax + this.board.xMin) / 2;
this.radius = this.board.height + addCenter;
this.rightAngle = _root.PI / 2 - 2 * Math.asin(this.board.width / 2 / Math.sqrt(Math.pow(this.board.width / 2, 2) + Math.pow(this.radius, 2)));
this.leftAngle = _root.PI - this.rightAngle;
this.incAngle = Math.abs((_root.PI / 2 - this.rightAngle) / this.incAngle);
this.rightSlow = _root.PI / 2 - (_root.PI / 2 - this.rightAngle) / slowDiv;
this.leftSlow = _root.PI / 2 + (_root.PI / 2 - this.rightAngle) / slowDiv;
this.createEmptyMovieClip("rightPush", this.zind + 10);
this.rightPush.beginFill(14540253, 0);
this.rightPush.lineTo(0, -pushSize);
this.rightPush.lineTo(-pushSize, -pushSize);
this.rightPush.lineTo(-pushSize, 0);
this.rightPush.lineTo(0, 0);
this.rightPush.endFill();
this.rightPush._x = this.board.xMax;
this.rightPush._y = this.board.yMax;
this.rightPush.useHandCursor = false;
this.rightPush.onRollOver = function ()
{
if (!this._parent.busy)
{
this._parent.gotoPage("overRight");
}
else
{
this._parent.waitForEvent.inst = this;
this._parent.waitForEvent.meth = "onRollOver";
} // end if
};
this.rightPush.onRollOut = function ()
{
if (!this._parent.busy)
{
this._parent.gotoPage("outRight");
}
else
{
this._parent.waitForEvent.inst = this;
this._parent.waitForEvent.meth = "onRollOut";
} // end if
};
this.rightPush.onPress = function ()
{
if (!this._parent.busy)
{
this._parent.busy = true;
this._parent.initX = this._parent._xmouse;
this._parent.mouseInt = setInterval(this._parent, "mouseMove", 0);
} // end if
};
this.createEmptyMovieClip("leftPush", this.zind + 11);
this.leftPush.beginFill(14540253, 0);
this.leftPush.lineTo(0, -pushSize);
this.leftPush.lineTo(pushSize, -pushSize);
this.leftPush.lineTo(pushSize, 0);
this.leftPush.lineTo(0, 0);
this.leftPush.endFill();
this.leftPush._x = this.board.xMin;
this.leftPush._y = this.board.yMax;
this.leftPush.useHandCursor = false;
this.leftPush.onRollOver = function ()
{
if (!this._parent.busy)
{
this._parent.gotoPage("overLeft");
}
else
{
this._parent.waitForEvent.inst = this;
this._parent.waitForEvent.meth = "onRollOver";
} // end if
};
this.leftPush.onRollOut = function ()
{
if (!this._parent.busy)
{
this._parent.gotoPage("outLeft");
}
else
{
this._parent.waitForEvent.inst = this;
this._parent.waitForEvent.meth = "onRollOut";
} // end if
};
this.leftPush.onPress = function ()
{
if (!this._parent.busy)
{
this._parent.busy = true;
this._parent.initX = this._parent._xmouse;
this._parent.mouseInt = setInterval(this._parent, "mouseMove", 0);
} // end if
};
this.mouseMove = function ()
{
this.currentSpeed = this.initX - this._xmouse;
this.currentAngle = this.currentAngle + this.incAngle * this.currentSpeed / 20;
if (this.rotation)
{
if (this.currentAngle > this.rightSlow)
{
this.shadowSpread._alpha = this.shadowSpread._alpha + (this.currentSpeed < 0 ? 1 : -1) * this.decAlpha;
this.shadowOver._alpha = this.shadowSpread._alpha + (this.currentSpeed < 0 ? 1 : -1) * this.decAlpha;
this.shadowBack._alpha = this.shadowSpread._alpha + (this.currentSpeed < 0 ? 1 : -1) * this.decAlpha;
if (this.currentAngle >= _root.PI / 2)
{
this.currentAngle = _root.PI / 2;
clearInterval(this.mouseInt);
this.mouseInt = "";
this.pageRight = this.bellowPage;
this.pageLeft = this.openPage;
this.clearPage();
} // end if
}
else if (this.currentAngle < this.rightAngle)
{
this.currentAngle = this.rightAngle;
clearInterval(this.mouseInt);
this.mouseInt = "";
this.clearPage();
}
else if (this.shadowSpread._alpha != 100)
{
this.shadowSpread._alpha = 100;
this.shadowOver._alpha = 100;
this.shadowBack._alpha = 100;
} // end if
}
else if (this.currentAngle < this.leftSlow)
{
this.shadowSpread._alpha = this.shadowSpread._alpha + (this.currentSpeed < 0 ? -1 : 1) * this.decAlpha;
this.shadowOver._alpha = this.shadowSpread._alpha + (this.currentSpeed < 0 ? -1 : 1) * this.decAlpha;
this.shadowBack._alpha = this.shadowSpread._alpha + (this.currentSpeed < 0 ? -1 : 1) * this.decAlpha;
if (this.currentAngle <= _root.PI / 2)
{
this.currentAngle = _root.PI / 2;
clearInterval(this.mouseInt);
this.mouseInt = "";
this.pageRight = this.openPage;
this.pageLeft = this.bellowPage;
this.clearPage();
} // end if
}
else if (this.currentAngle > this.leftAngle)
{
this.currentAngle = this.leftAngle;
clearInterval(this.mouseInt);
this.mouseInt = "";
this.clearPage();
}
else if (this.shadowSpread._alpha != 100)
{
this.shadowSpread._alpha = 100;
this.shadowOver._alpha = 100;
this.shadowBack._alpha = 100;
} // end if
this.movePage();
this.initX = this._xmouse;
};
this.onMouseUp = function ()
{
if (this.mouseInt)
{
clearInterval(this.mouseInt);
this.mouseInt = "";
if (this.autoInt)
{
this.clearInterval(this.autoInt);
this.autoInt = "";
} // end if
this.finishMove();
} // end if
};
this.pageRight = 0;
this.pageLeft = "";
this.page0._visible = true;
};
MovieClip.prototype.gotoPage = function (action)
{
if (this.autoInt && this.recallInterval == "")
{
this.currentAngle = _root.PI / 2;
clearInterval(this.autoInt);
this.autoInt = "";
this.oneMove();
this.recallInterval = setInterval(this, "gotoPage", 0, action);
updateAfterEvent();
return(false);
} // end if
if (this.recallInterval)
{
clearInterval(this.recallInterval);
this.recallInterval = "";
} // end if
if (typeof(action) == "number" && action >= 0 && action < this.nbPage)
{
if (action < this.pageLeft)
{
this.jumpSens = "previous";
this.busy = true;
this.incAngle = 10 * this.incAngle;
this.jumpPage = action;
this.gotoPage(this.jumpSens);
}
else if (action > this.pageRight)
{
this.jumpSens = "next";
this.busy = true;
this.incAngle = 10 * this.incAngle;
this.jumpPage = action;
this.gotoPage(this.jumpSens);
} // end if
return(false);
}
else if (action == "next" && this.pageRight + 1 < this.nbPage)
{
this.openPage = this.pageRight + 1;
this.coverPage = this.pageRight;
this.bellowPage = this.pageRight + 2;
this.currentAngle = this.rightAngle;
this.oppositePage = this.pageLeft;
this.rotation = true;
this.pageRight = this.bellowPage;
this.pageLeft = this.openPage;
this.sens = true;
this.busy = true;
}
else if (action == "previous" && this.pageRight - 1 >= 0)
{
this.openPage = this.pageLeft - 1;
this.coverPage = this.pageLeft;
this.bellowPage = this.pageLeft - 2;
this.oppositePage = this.pageRight;
this.currentAngle = this.leftAngle;
this.rotation = false;
this.pageRight = this.openPage;
this.pageLeft = this.bellowPage;
this.sens = true;
this.busy = true;
}
else if (action == "overRight")
{
if (this.pageRight + 1 > this.nbPage)
{
return(false);
} // end if
this.openPage = this.pageRight + 1;
this.coverPage = this.pageRight;
this.bellowPage = this.pageRight + 2;
this.oppositePage = this.pageLeft;
this.currentAngle = this.rightAngle;
this.rotation = true;
this.sens = true;
this.busy = true;
}
else if (action == "outRight" && this.lastEvent == "overRight")
{
if (this.pageRight + 1 > this.nbPage)
{
return(false);
} // end if
this.openPage = this.pageRight + 1;
this.rotation = true;
this.sens = false;
this.busy = true;
}
else if (action == "overLeft")
{
if (this.pageLeft - 1 < 0)
{
return(false);
} // end if
this.openPage = this.pageLeft - 1;
this.coverPage = this.pageLeft;
this.bellowPage = this.pageLeft - 2;
this.oppositePage = this.pageRight;
this.currentAngle = this.leftAngle;
this.rotation = false;
this.sens = true;
this.busy = true;
}
else if (action == "outLeft" && this.lastEvent == "overLeft")
{
if (this.pageLeft - 1 < 0)
{
return(false);
} // end if
this.openPage = this.pageLeft - 1;
this.rotation = false;
this.sens = false;
this.busy = true;
}
else
{
return(false);
} // end if
this["page" + this.openPage]._visible = true;
this["page" + this.openPage].setPage(this.currentAngle, this.rotation);
this["maskOpen" + this.openPage].setPage((_root.PI / 2 + this.currentAngle) / 2, this.rotation);
this["page" + this.openPage].setMask(this["maskOpen" + this.openPage]);
this["maskClose" + this.openPage].applyPage(this["maskOpen" + this.openPage]);
this["page" + this.coverPage].setMask(this["maskClose" + this.openPage]);
var j = 0;
while (j < this.nbpage)
{
if (this["page" + j].getDepth() != this["page" + j].zind)
{
this["page" + j].swapDepths(this["page" + j].zind);
} // end if
j++;
} // end while
this.shadowOver.swapDepths(this.zind + 7);
this["page" + this.openPage].swapDepths(this.zind + 6);
this.shadowSpread.swapDepths(this.zind + 5);
this["page" + this.oppositePage].swapDepths(this.zind + 4);
this["page" + this.coverPage].swapDepths(this.zind + 3);
this.shadowBack.swapDepths(this.zind + 2);
this["page" + this.bellowPage].swapDepths(this.zind + 1);
this.shadowSpread.setShadowSpread.call(this.shadowSpread, this["page" + this.openPage], this.rotation);
this.shadowSpread.setPage(this.currentAngle, this.rotation);
this.shadowBack.applyPage(this["maskOpen" + this.openPage]);
this.shadowBack.setShadowBack.call(this.shadowBack, this["page" + this.openPage], this.rotation);
this["maskPage" + this.openPage].applyPage(this["page" + this.openPage]);
this.shadowOver.setMask(this["maskPage" + this.openPage]);
this.shadowOver.setShadowOver.call(this.shadowOver, this["page" + this.openPage], this.rotation);
this.shadowOver.applyPage(this["maskOpen" + this.openPage]);
this["page" + this.bellowPage]._visible = true;
this.shadowSpread._alpha = 100;
this.shadowOver._alpha = 100;
this.shadowBack._alpha = 100;
if (action == "previous" || action == "next")
{
this.autoInt = setInterval(this, "oneMove", 0);
}
else if (action == "overRight" || action == "outRight" || action == "overLeft" || action == "outLeft")
{
this.autoInt = setInterval(this, "littleMove", 0);
} // end if
this.lastEvent = action;
updateAfterEvent();
};
MovieClip.prototype.littleMove = function ()
{
this.currentAngle = this.currentAngle + (this.rotation ? 1 : -1) * (this.sens ? 1 : -1) * this.incAngle;
if (this.rotation)
{
if (this.currentAngle > this.rightAngle + 3 * this.incAngle)
{
this.currentAngle = this.rightAngle + 3 * this.incAngle;
clearInterval(this.autoInt);
this.autoInt = "";
this.busy = false;
}
else if (this.currentAngle < this.rightAngle)
{
this.currentAngle = this.rightAngle;
clearInterval(this.autoInt);
this.autoInt = "";
this.busy = false;
} // end if
}
else if (this.currentAngle < this.leftAngle - 3 * this.incAngle)
{
this.currentAngle = this.leftAngle - 3 * this.incAngle;
clearInterval(this.autoInt);
this.autoInt = "";
this.busy = false;
}
else if (this.currentAngle > this.leftAngle)
{
this.currentAngle = this.LeftAngle;
clearInterval(this.autoInt);
this.autoInt = "";
this.busy = false;
} // end if
this.movePage();
updateAfterEvent();
};
MovieClip.prototype.oneMove = function ()
{
this.currentAngle = this.currentAngle + (this.rotation ? 1 : -1) * (this.sens ? 1 : -1) * this.incAngle;
if (this.rotation)
{
if (this.currentAngle > this.rightSlow)
{
this.shadowSpread._alpha = this.shadowSpread._alpha - this.decAlpha;
this.shadowOver._alpha = this.shadowSpread._alpha - this.decAlpha;
this.shadowBack._alpha = this.shadowSpread._alpha - this.decAlpha;
this.currentAngle = this.currentAngle - (this.currentAngle - this.rightSlow) / this.slowDec;
if (this.currentAngle >= _root.PI / 2)
{
this.currentAngle = _root.PI / 2;
clearInterval(this.autoInt);
this.autoInt = "";
this.clearPage();
} // end if
}
else if (this.busy && this.currentAngle < this.rightAngle)
{
clearInterval(this.autoInt);
this.autoInt = "";
this.clearPage();
} // end if
}
else if (this.currentAngle < this.leftSlow)
{
this.shadowSpread._alpha = this.shadowSpread._alpha - this.decAlpha;
this.shadowOver._alpha = this.shadowSpread._alpha - this.decAlpha;
this.shadowBack._alpha = this.shadowSpread._alpha - this.decAlpha;
this.currentAngle = this.currentAngle + (this.leftSlow - this.currentAngle) / this.slowDec;
if (this.currentAngle <= _root.PI / 2)
{
this.currentAngle = _root.PI / 2;
clearInterval(this.autoInt);
this.autoInt = "";
this.clearPage();
} // end if
}
else if (this.busy && this.currentAngle > this.leftAngle)
{
this.currentAngle = this.leftAngle;
clearInterval(this.autoInt);
this.autoInt = "";
this.clearPage();
} // end if
this.movePage();
updateAfterEvent();
};
MovieClip.prototype.movePage = function ()
{
this["page" + this.openPage].setPage(this.currentAngle, this.rotation);
this["maskOpen" + this.openPage].setPage((_root.PI / 2 + this.currentAngle) / 2, this.rotation);
this["maskClose" + this.openPage].applyPage(this["maskOpen" + this.openPage]);
this.shadowSpread.applyPage(this["page" + this.openPage]);
this.shadowBack.applyPage(this["maskOpen" + this.openPage]);
this["maskPage" + this.openPage].applyPage(this["page" + this.openPage]);
this.shadowOver.applyPage(this["maskOpen" + this.openPage]);
if (this.waitForEvent && this.autoInt == "")
{
this.waitForEvent.inst[this.waitForEvent.meth].call(this.waitForEvent.inst);
this.waitForEvent.inst = "";
this.waitForEvent.meth = "";
} // end if
updateAfterEvent();
};
MovieClip.prototype.setPage = function (angle, rotation)
{
var delta = _root.PI / 2 - angle;
this._rotation = 180 * delta / _root.PI;
this._x = (rotation ? -1 : 1) + this._parent.xCenter + this._parent.radius * Math.cos(angle) + (rotation ? 1 : -1) * this.radius * Math.cos(this.angle - delta);
this._y = this._parent.yCenter - this._parent.radius * Math.sin(angle) - (rotation ? 1 : -1) * this.radius * Math.sin(this.angle - delta);
};
MovieClip.prototype.applyPage = function (inst)
{
this._rotation = inst._rotation;
this._x = inst._x;
this._y = inst._y;
};
MovieClip.prototype.clearPage = function ()
{
this.shadowSpread.clear();
this.shadowBack.clear();
this.shadowOver.clear();
var i = 0;
while (i < this.nbPage)
{
if (i != this.pageRight && i != this.pageleft)
{
this["page" + i]._visible = false;
} // end if
i++;
} // end while
if (this.jumpPage != "")
{
if (this.jumpPage == this.pageRight || this.jumpPage == this.pageLeft)
{
this.jumpPage = "";
this.incAngle = this.incAngle / 10;
this.busy = false;
}
else
{
this.movePage();
this.gotoPage(this.jumpSens);
} // end if
}
else
{
this.busy = false;
} // end if
};
MovieClip.prototype.finishMove = function ()
{
if (this.rotation)
{
if (this.currentAngle > (_root.PI / 2 + this.rightAngle - this.currentSpeed * this.incAngle) / 2)
{
this.sens = true;
}
else
{
this.sens = false;
} // end if
}
else if (this.currentAngle < (_root.PI / 2 + this.leftAngle - this.currentSpeed * this.incAngle) / 2)
{
this.sens = true;
}
else
{
this.sens = false;
} // end if
if (this.sens)
{
this.pageRight = this.rotation ? this.bellowPage : this.openPage;
this.pageLeft = this.rotation ? this.openPage : this.bellowPage;
} // end if
this.autoInt = setInterval(this, "oneMove", 1);
};
MovieClip.prototype.setShadowSpread = function (inst, sens)
{
this.clear();
if (sens)
{
this.beginGradientFill("linear", [0, 0], [0, 40], [0, 255], );
this.moveTo(inst.bound.xMin, inst.bound.yMin);
this.lineTo(inst.bound.xMin, inst.bound.yMax);
this.lineTo(inst.bound.xMin + 200, inst.bound.yMax);
this.lineTo(inst.bound.xMin - 20, inst.bound.yMax + 20);
this.lineTo(inst.bound.xMin, inst.bound.yMin);
this.endFill();
}
else
{
this.beginGradientFill("linear", [0, 0], [60, 0], [32, 255], );
this.moveTo(inst.bound.xMax, inst.bound.yMin);
this.lineTo(inst.bound.xMax, inst.bound.yMax);
this.lineTo(inst.bound.xMax - 200, inst.bound.yMax);
this.lineTo(inst.bound.xMax + 20, inst.bound.yMax + 20);
this.lineTo(inst.bound.xMax, inst.bound.yMin);
this.endFill();
} // end if
this.radius = inst.radius;
this.angle = inst.angle;
};
MovieClip.prototype.setShadowBack = function (inst, sens)
{
this.clear();
if (sens)
{
this.beginGradientFill("linear", [0, 0, 0], [20, 10, 0], [0, 68, 255], );
this.moveTo(inst.bound.xMax, inst.bound.yMin - 50);
this.lineTo(inst.bound.xMax + 40, inst.bound.yMin);
this.lineTo(inst.bound.xMax + 40, inst.bound.yMax);
this.lineTo(inst.bound.xMax, inst.bound.yMax);
this.lineTo(inst.bound.xMax, inst.bound.yMin - 50);
this.endFill();
}
else
{
this.beginGradientFill("linear", [0, 0, 0], [20, 10, 0], [0, 68, 255], );
this.moveTo(inst.bound.xMin, inst.bound.yMin - 50);
this.lineTo(inst.bound.xMin - 40, inst.bound.yMin);
this.lineTo(inst.bound.xMin - 40, inst.bound.yMax);
this.lineTo(inst.bound.xMin, inst.bound.yMax);
this.lineTo(inst.bound.xMin, inst.bound.yMin - 50);
this.endFill();
} // end if
this.radius = inst.radius;
this.angle = inst.angle;
};
MovieClip.prototype.setShadowOver = function (inst, sens)
{
this.clear();
if (sens)
{
this.beginGradientFill("linear", [0, 0, 0], [20, 10, 0], [0, 68, 255], );
this.moveTo(inst.bound.xMax - 1, inst.bound.yMin - 50);
this.lineTo(inst.bound.xMax - 50, inst.bound.yMin);
this.lineTo(inst.bound.xMax - 50, inst.bound.yMax);
this.lineTo(inst.bound.xMax - 1, inst.bound.yMax);
this.lineTo(inst.bound.xMax - 1, inst.bound.yMin - 50);
this.endFill();
}
else
{
this.beginGradientFill("linear", [0, 0, 0], [20, 10, 0], [0, 68, 255], );
this.moveTo(inst.bound.xMin + 1, inst.bound.yMin - 50);
this.lineTo(inst.bound.xMin + 50, inst.bound.yMin);
this.lineTo(inst.bound.xMin + 50, inst.bound.yMax);
this.lineTo(inst.bound.xMin + 1, inst.bound.yMax);
this.lineTo(inst.bound.xMin + 1, inst.bound.yMin - 50);
this.endFill();
} // end if
this.radius = inst.radius;
this.angle = inst.angle;
};
_root.book.setBook();
_root.button.onPress = function ()
{
_root.book.gotoPage("next");
};
stop();
Nights
Степной волк
15
Сообщения: 5182
Зарегистрирован: 09.01.02
Откуда: Питер
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 18 Январь 2003, 15:11:00 
[img]lol.gif[/img]
Xavec
новый человек
0
Сообщения: 163
Зарегистрирован: 16.01.03
Откуда: Mскв.
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 18 Январь 2003, 15:23:00 
Чё смешного, Nights?

[ 18 Января 2003: Исправлено Xavec ]
fidukoff Муж.
Модератор
раздолбай-зануда
188
Сообщения: 8387
Зарегистрирован: 08.12.01
Откуда: Москва
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 18 Январь 2003, 16:36:00 
все внимательно прочитал.…
Viper Муж.
участник
0
Сообщения: 1135
Зарегистрирован: 01.07.01
Откуда: Псков
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 19 Январь 2003, 14:06:00 
Xavec Мальчик, матом не ругайся [img]laugh.gif[/img]
deitch
участник
12
Сообщения: 1537
Зарегистрирован: 30.12.01
Откуда: Шпицберген
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 19 Январь 2003, 14:32:00 
Xavec

А где ты этот скриптец взял?
Xavec
новый человек
0
Сообщения: 163
Зарегистрирован: 16.01.03
Откуда: Mскв.
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 19 Январь 2003, 14:47:00 
2 Nekto,fidukoff и Viper: скрипт этот я сюда выложил не для того, чтобы вы его внимательно читали, а на случай если он понадобится кому-то ещё (ничего подобного в сети я не нашёл).
2 deitch: любезно предоставлено Эриком Нацке
deitch
участник
12
Сообщения: 1537
Зарегистрирован: 30.12.01
Откуда: Шпицберген
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 19 Январь 2003, 15:02:00 
Xavec

Отлично [img]up.gif[/img] Если попадется еще что-нибудь в этом духе, выкладывай, не стесняйся!
Xavec
новый человек
0
Сообщения: 163
Зарегистрирован: 16.01.03
Откуда: Mскв.
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 19 Январь 2003, 15:41:00 
Вот это я понимаю, deitch. Настоящий мужик! [img]drink.gif[/img]
Nights
Степной волк
15
Сообщения: 5182
Зарегистрирован: 09.01.02
Откуда: Питер
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 19 Январь 2003, 19:19:00 
Xavec - хорошо, а как ты думаешь , чтобы стать настоящим мужиком нужно собрать коллекцию скриптов или суметь написать хотя бы один самому ? [img]images/smiles/icon_wink.gif[/img]
Nights
Степной волк
15
Сообщения: 5182
Зарегистрирован: 09.01.02
Откуда: Питер
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 20 Январь 2003, 00:37:00 
да просто тут уже вопрос встанет как легче сделать =)

я, например, и читать даже не стал.……………..
SkyLab
новый человек
0
Сообщения: 73
Зарегистрирован: 22.12.02
Откуда: Venus
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 20 Январь 2003, 01:39:00 
Xavec

Чот у меня твой скрипт не работает [img]images/smiles/icon_sad.gif[/img] [img]images/smiles/icon_sad.gif[/img] [img]images/smiles/icon_sad.gif[/img]

а эффект очень крутой , спасибо Xavec , я такого еще не видел...

ток вот че скрипт та у меня не пашет ??? [img]weep.gif[/img]

[ 20 Января 2003: Исправлено SkyLab ]
Xavec
новый человек
0
Сообщения: 163
Зарегистрирован: 16.01.03
Откуда: Mскв.
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 20 Январь 2003, 12:00:00 
Nights, [img]laugh.gif[/img]. Какой смысл мне это самому писать? Я вооще то занимаюсь дизайном, а не чёрной работой типа написания существующих скриптов
Nights
Степной волк
15
Сообщения: 5182
Зарегистрирован: 09.01.02
Откуда: Питер
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 20 Январь 2003, 14:50:00 
[img]images/smiles/icon_razz.gif[/img]

Xavec- если ты занимаешься флэшем то должен уметь писать такие скрипты , т.е. заниматься "черной" работой, как ты выражаешься
Xavec
новый человек
0
Сообщения: 163
Зарегистрирован: 16.01.03
Откуда: Mскв.
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 20 Январь 2003, 18:00:00 
SkyLab а ты сам скрипт читал или просто вставил его в первый кадр таймлайна? У меня всё "пашет" просто по полной

Nights не прослеживаю логики в твоих рассуждениях [img]images/smiles/icon_sad.gif[/img]
Nights
Степной волк
15
Сообщения: 5182
Зарегистрирован: 09.01.02
Откуда: Питер
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 20 Январь 2003, 22:48:00 
Xavec - логика проста

работаешь с флэшем а АС знаешь только на "on (release)" и не более....чтож это за флэшер ?
SkyLab
новый человек
0
Сообщения: 73
Зарегистрирован: 22.12.02
Откуда: Venus
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 21 Январь 2003, 16:25:00 
Xavec

Честно говоря не читал …

Да , втавил в первый и во второй как там написанно ..
я так понял этого не достаточно ? … если не тяжело
расскажи в кратце оссобенности использования этого
скрипта ..
Xavec
новый человек
0
Сообщения: 163
Зарегистрирован: 16.01.03
Откуда: Mскв.
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 21 Январь 2003, 17:15:00 
SkyLab в кратце рассказать никак не получится [img]images/smiles/icon_sad.gif[/img]. Тогда надо будет весь код комментировать. Этот код не универсальный и расчитан на данный конкретный случай. Могу толко сказать что для каждой страницы нужно создать button, который при наведении и перетаскивании будет выполнять эти ф-ции. Советую изучить код там всё предельно просто. Если будут возникать вопросы, то советую обращаться к Nights. Он [img]genius.gif[/img]- он тебе поможет

Nights да не флэшер я, не флэшер. Хотя насчёт " знаешь только на "on (release)" " ты не прав
deitch
участник
12
Сообщения: 1537
Зарегистрирован: 30.12.01
Откуда: Шпицберген
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 21 Январь 2003, 17:32:00 
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR>Автор Сообщения Nights:
<STRONG>Xavec - логика проста

работаешь с флэшем а АС знаешь только на "on (release)" и не более....чтож это за флэшер ?</STRONG><HR></BLOCKQUOTE>


Есть такая профессия - flash-programmer.
Nights
Степной волк
15
Сообщения: 5182
Зарегистрирован: 09.01.02
Откуда: Питер
Заголовок сообщения: Page Turning Effect
Сообщение Добавлено: 21 Январь 2003, 22:18:00 
я не против юзания готовых примеров, вы меня не поняли просто

а насчет флэш-программера , это все туфта и туфтой будет.………… если работаешь с флэшем, то должен уметь и ЗНАТЬ АС , иначе во что превращается работа во флэше ? вставку оббьектов и распихивание по таймлайну ? потом это передается флэш-программеру и что он делает ? бред да и только.……………

все , харе трендеть, все в сад
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 28 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100