effetto" pagine da sfogliare"

  • Creatore Discussione Creatore Discussione crystal
  • Data di inizio Data di inizio

crystal

Nuovo Utente
17 Ott 2006
21
0
0
Ciao a tutti, ..sono un nuovo acquisto, ma niente di speciale(premetto) qualcuno mi sa dire come creare l'effetto in oggetto,cioè con il mouse girare una "pagina" di un libro, giornale.. ecc..,e ritrovarmi nella pagina seguente, Se non è troppo complesso,mi potete citare il codice action-script;ho flash 8
il max sarebbe creare l'intero sito - il punto è che non riesco a trovare un template da scaricare e/o anche da comprare
se non riesco a risalire al codice, sapete dove posso trovare questo template??Grazie a tutti.
p.s. .. sono "non parziale",ma ammiro molto il sito di "carla146".
 
non volevi niente di complicato???beccati questo po po di codice!:)io ho appena fatto un lavoro di un libro on line....solo cke questo è stato fatto con flashMX...non so se è lo stesso xflash 8...tu prova!spero di esserti stata utile,se hai problemi fammi sapere!!!!
-------------------------------------------------
per modificare il numero delle pagine settare la variabile
"maxPages" (_root.Pages)
il numero deve essere necessariamente pari altrimenti
da errore!!
aggiungere il contenuto di ogni pagina nel livello Prints e trasformarlo
in simbolo con nome "PrintX"
al posto della X inserire il numero progressivo delle pagine a cui
si riferisce.
spuntare la casella Esporta per
Actionscript (pannello Avanzato)
e nell'identificatore lasciare lo stesso nome del MC
*/
stop();

_level0.pagesAbs = this;
// Ridimensiona la pagina
var pageWi = 250;
var PageHi = 300;
var pageWiHi = pageWi+pageHi;
var pivotY = pageHi/2+pageWi;
//Modifica il colore della pagina
var pageColor = 0xFFF0F0;
// "dir" determina se il libro e andata avanti o indietro
// di un apagina
var dir = 1;
// "flipPage" is the # "between" the two flipping page #'s
var flipPage = 1.5;
// "curPage" indica la pagina visualizzata
var curPage = .5;
// "maxPages" indica il numero massimo di pagine che deve essere sempre pari
var maxPages = 6;
// "autoStep" indica la percentuale della pagina
//e quando si deve chiudere
var autoStep = .05;
// "dragging" serve per allineare la pagina se e stata trascinata
var dragging = false
//----------------------------------------------------------------//
//
// dispone i tasti destra e sinistra
this.attachMovie ("cornerButton", "RButton", 11);
with (RButton) {
_x = pageWi;
_y = -pageWi;
}
this.attachMovie ("cornerButton", "LButton", 12);
with (LButton) {
_x = -pageWi;
_y = -pageWi;
_xscale = -100;
}
//
//
// configura la pagina
pageInit (flipPage, dir);
// Drop down to appear centered
_y+=pivotY;
//------------------------------------------------------------------//

// crea la pagina
function makePage (targ, xQuadrant) {
with (targ) {
beginFill(pageColor, 100);
moveto(0, -pageWi);
lineto(0, -pageWiHi);
lineTo(xQuadrant*pageWi, -pageWiHi);
lineTo(xQuadrant*pageWi, -pageWi);
endFill();
}
}
//
//
// crea l'ombra della pagina
function makeShade (targ, xQuadrant) {
with (targ) {
// definisce i gradienti
var colors = [0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000];
var alphas = [ 40, 25, 15, 5, 0, 1, 6];
var ratios = [ 0, 1, 17, 51, 89, 132, 255];
var matrix = { matrixType:"box", x:0, y:pageWi, w:xQuadrant*pageWi, h:pageHi, r:0};
beginGradientFill( "linear", colors, alphas, ratios, matrix );
moveto(0, -pageWi);
lineto(0, -pageWiHi);
lineTo(xQuadrant*pageWi, -pageWiHi);
lineTo(xQuadrant*pageWi, -pageWi);
endFill();
}
}
//
//
// crea i bottoni
function makeShadow (targ, xQuadrant) {
with (targ) {
// definisce i gradienti dei bottoni
var colors = [0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000];
var alphas = [ 40, 25, 15, 5, 0, 1, 6];
var ratios = [ 0, 1, 17, 51, 89, 132, 255];
var maxLength = Math.sqrt((pageWi*pageWi)+(pageWIHi*pageWiHi));
var matrix = { matrixType:"box", x:0, y:-maxLength, w:xQuadrant*pageWi, h:maxLength-pageWi, r:0};
beginGradientFill( "linear", colors, alphas, ratios, matrix );
moveto(0, -pageWi);
lineto(0, -maxLength);
lineto(xQuadrant*pageWi, -maxLength);
lineTo(xQuadrant*pageWi, -pageWi);
endFill();
}
}
//
//
// Dispone le pagine
function setStationary() {
// dispone "S"tazionaria "L"sinistra "P"agina
createEmptyMovieClip("SLPage", 1);
if (flipPage!=1.5) {
makePage (SLPage, -1)
SLPage.attachMovie("print"+(flipPage-1.5), "Print", 1);
with (SLPage.Print) {
_x = -pageWi/2;
_y = -pivotY;
}
}
// dispone "S"tazionaria "L"destra "P"agina
createEmptyMovieClip("SRPage", 2);
if (flipPage!=maxPages-.5){
makePage (SRPage, 1)
SRPage.attachMovie("print"+(flipPage+1.5), "Print", 1);
with (SRPage.Print) {
_x = pageWi/2;
_y = -pivotY;
}
}
// dispone sullo schermo la pagina non rilevata
var targ = dir>0 ? SLPage : SRPage;
targ.createEmptyMovieClip("Shade", 2);
makeShade(targ.Shade, -dir);
}
//
//
// dispone le pagine lanciate
function setFlipping() {
var targ;
// dispone "F"lanciata "T"sopra "P"pagina
createEmptyMovieClip("FTPage", 3);
makePage (FTPage, dir)
with (FTPage) {
attachMovie("print"+(flipPage-dir*.5), "Print", 1);
with (Print) {
_x = dir*pageWi/2;
_y = -pivotY;
}
}
FTPage.createEmptyMovieClip("Shade", 2);
makeShade(FTPage.Shade, dir);
// dispone "F"lanciata "T"sotto "P"pagina
createEmptyMovieClip("FBPage", 4);
makePage (FBPage, -dir)
FBPage.attachMovie("print"+(flipPage+dir*.5), "Print", 1);
with (FBPage.Print) {
_x = -dir*pageWi/2;
_y = -pivotY;
}
FBPage._rotation = dir*90;
}
//
//
// genera le ombre
function setShadows() {
var targ;
// Place shadow on the "F"lipping page
this.createEmptyMovieClip("FShadow", 5);
makeShadow(FShadow, -dir);
FShadow._rotation = dir*45;
// Place shadow on the "S"tationary page
this.createEmptyMovieClip("SShadow", 6);
makeShadow(SShadow, dir);
SShadow._rotation = dir*45;
}
//
//
// crea una maschera
function makeMasks() {
// crea una maschera per girare le pagine
this.createEmptyMovieClip("FBPageMask", 7);
with (FBPageMask) {
beginFill(0x005500, 100);
lineto(pageWiHi, -PageWiHi);
curveto(0, -2*PageWiHi, -pageWiHi, -pageWiHi);
endFill();
}
// crea una maschera per le pagine
FBPageMask.duplicateMovieClip("FTPageMask", 8);
// crea una maschera
this.createEmptyMovieClip("FShadowMask", 9);
makePage (FShadowMask, -dir);
FShadowMask._rotation = dir*90;
// crea una maschera
this.createEmptyMovieClip("SShadowMask", 10);
makePage(SShadowMask, dir);
FBPage.setMask(FBPageMask);
FTPage.setMask(FTPageMask);
FShadow.setMask(FShadowMask);
SShadow.setMask(SShadowMask);
}
//
//
// nasconde la prima e la pagina dopo l'ultima
function limitBook () {
if (flipPage==1.5) {
SLPage._visible = 0;
LButton._visible = 0;
SShadow._visible = 0;
if (dir==1) {
FTPage.Shade._alpha = 67;
SShadow._visible = 1;
}else {
FShadow._alpha = 67;
}
} else if (flipPage==maxPages-.5) {
SRPage._visible = 0;
RButton._visible = 0;
SShadow._visible = 0;
if (dir==-1) {
FTPage.Shade._alpha = 67;
SShadow._visible = 1;
} else {
FShadow._alpha = 67;
}
}
}
//
//
// posiziona le pagine elencate sopra
function pageInit (cp, d) {
flipPage = cp;
dir = d;
//trace ("flip page = "+flipPage+" dir = "+dir);
setStationary();
setFlipping();
setShadows();
makeMasks();
limitBook ();
}

//----------------------------------------------------
//
// come lanciare la posizione della pagina
// e va da 0 e 1
function flip(curVal) {
var rot = dir*45*curVal;
FBPageMask._rotation = FTPageMask._rotation = -rot;
FBPage._rotation = FShadowMask._rotation = (dir*90)-rot*2;
FShadow._rotation = SShadow._rotation=(dir*45)-rot;
}
//
//
// Lancia la posizione della pagina
// ritorna un valore tra o e 1
// zero viene lanciato all'inizio
function getPageRatio () {
if (dragging) {
// il trascinamento della posizione della pagina
// e determinato dal mouse
pageRatio = -dir*(_xmouse-startX-dir*20)/(2*pageWi);
} else {
// se non e trascinata, vine incrementato alla fine
pageRatio>2/3 ? pageRatio += autoStep : pageRatio -= autoStep;
}
// da i limiti
if (pageRatio<=0) {
pageRatio = 0;
if (!dragging) {
flipDone();
}
} else if (pageRatio>=1) {
pageRatio = 1;
if (!dragging) {
flipDone();
}
}
return (pageRatio);
}
//--------------------------------------------------------------------------
//
// dice cosa fare quando la pagina viene cliccatta
function startFlip (dir) {
pageInit (curPage+dir, dir);
startX = dir*pageWi;
dragging = true;
RButton._alpha=0;
Lbutton._alpha=0;
this.onEnterFrame = function () {
flip(getPageRatio());
}
}
//
//
// quando la pagina viene lasciata
function flipRelease () {
dragging = false;
if (pageRatio>2/3) {
curPage+=2*dir;
}
}
//
//
// cosa fare quando la pagina e lanciata
function flipDone () {
this.onEnterFrame = null;
RButton._alpha = 100;
LButton._alpha = 100;
if (curPage!=.5){
LButton._visible = 1;
}
if (curPage!=maxPages+.5){
RButton._visible = 1;
}
// cancella le pagine nascoste
if (pageRatio==0) {
FShadow.removeMovieClip();
FShadowMask.removeMovieClip();
SShadow.removeMovieClip();
SShadowMask.removeMovieClip();
FBPage.removeMovieClip();
FBPageMask.removeMovieClip();
if (dir==1) {
SRPage.removeMovieClip();
} else {
SLPage.removeMovieClip();
}
} else {
FTPage.removeMovieClip();
if (dir==-1) {
SRPage.removeMovieClip();
} else {
SLPage.removeMovieClip();
}
}
FTPageMask.removeMovieClip();
}
//
//
// assegna la funzione al bottone
LButton.onPress = function() {
startFlip (-1);
}
LButton.onReleaseOutside = function () {
flipRelease();
}
LButton.onRelease = function () {
flipRelease();
}
RButton.onPress = function() {
startFlip (1);
}
RButton.onReleaseOutside = function () {
flipRelease();
}
RButton.onRelease = function () {
flipRelease();
}
//
 
effetto"sfogliare"

Grazie Mary,.. ma tu sei terrena o sei un E.T.??, sei BRAVISSIMA..e CARINISSIMA , non pensavo proprio ormai che qualcuno mi rispondesse.Comunque non ci ho capito granchè .
MA ... "custodirò" quello che mi hai scritto,.. non è stato un sacrificio vano, anche se soltanto riesco a copiare il tuo script per poterlo inserire in un sito e poi a fra un bel pò ..per capire.
Ti farò sapere se realizzo qualcosa,ciao sei OKKKKKKKKK davvvvero!!!
 

Discussioni simili