mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 07:39 Benutzername: Passwort: Auto-Login

Thema: [Flash] Blättern-Script ändern vom 29.06.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> [Flash] Blättern-Script ändern
Autor Nachricht
XCarinaX
Threadersteller

Dabei seit: 28.06.2006
Ort: -
Alter: 35
Geschlecht: Weiblich
Verfasst Do 29.06.2006 14:36
Titel

[Flash] Blättern-Script ändern

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich habe folgendes FlashScribt. Das ist ein Buch mit einzelnen Seiten die ich umblättern kann indem ich auf die Ecke der Buchseite klicke und diese dann rüberziehe.
Mein Chef hätte aber gerne dass sich die Seite umblättert wenn man auf die Ecke KLICKT. Man sollte nicht ziehen müssen * Keine Ahnung... * .
Kann mir jemand sagen wie ich das Scribt dafür umschreiben muss?


Mein Scribt:

Code:
stop();

//________________________C O M M E N T S
// Thought to self:
// Try naming functions according to the events which preclude them
//
//
// A page flip involves 3 pieces of paper
// 2 bottom static pages (which lay flat at all times)
// and 1 active flipping page (which has 2 sides)
// Four pages total, 2 static/stationary and 2 flipping
// The flipping page can be on the left or right side
// The top image on the flipping page doesn't actually move
//_________________________V A R I A B L E S
//
// Store a constant reference to this clip on the main timeline so
// clip can be referenced from any other timeline as _level0.pagesAbs
_level0.pagesAbs = this;
// Set page dimensions
var pageWi = 500;
var PageHi = 700;
var pageWiHi = pageWi+pageHi;
var pivotY = pageHi/2+pageWi;
var pageColor = 000000;
// "dir" equals either 1 or -1 and determines if you
// are flipping forward or backward through the book
var dir = 1;
// "flipPage" is the # "between" the two flipping page #'s
var flipPage = 1.5;
// "curPage" is the # between the two currently viewed page #'s
var curPage = .5;
// "maxPages" should be an even number
var maxPages = 8;
// "autoStep" percentage of page width determining step size when auto-closing
var autoStep = .05;
// "dragging" is true if you are dragging the page
var dragging = false
//
//
//
//
//
//________________________________R U N   O N C E
//
// Place Left and Right page flip Buttons
this.attachMovie ("cornerButton", "RButton", 11);
with (RButton) {
   _x = pageWi;
   _y = -pageWi;
}
this.attachMovie ("cornerButton", "LButton", 12);
with (LButton) {
   _x = -pageWi;
   _y = -pageWi;
   _xscale = -100;
}
//
//
// Build pages for first time
pageInit (flipPage, dir);
// Drop down to appear centered
_y+=pivotY;
//
//
//
//
//
// _____________________B U I L D   F U N C T I O N S
//
// Create a left-aligned page-sized solid fill raised one pagewidth
function makePage (targ, xQuadrant) {
   with (targ) {
      beginFill(pageColor, 100);
      moveto(0, -pageWi);
      lineto(0, -pageWiHi);
      lineTo(xQuadrant*pageWi, -pageWiHi);
      lineTo(xQuadrant*pageWi, -pageWi);
      endFill();
   }
}
//
//
// Create a left-aligned page-sized shadow gradient raised one pagewidth
// Shade is used to add depth to stationary pages
function makeShade (targ, xQuadrant) {
   with (targ) {
      // Defines gradient used as shadow overlay
      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();
   }
}
//
//
// create a bottom-left aligned shadow gradient
// for animated shadows
function makeShadow (targ, xQuadrant) {
   with (targ) {
      // Defines gradient used as shadow overlay
      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();
   }
}
//
//
// Place Stationary Pages
function setStationary() {
// Place the "S"tationary "L"eft "P"age
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;
      }
   }
   // Place the "S"tationary "R"ight "P"age
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;
      }
   }
   // Place shade on page not being revealed
   var targ = dir>0 ? SLPage : SRPage;
   targ.createEmptyMovieClip("Shade", 2);
   makeShade(targ.Shade, -dir);
}
//
//
// Place the Flipping Pages
function setFlipping() {
   var targ;
   // Place the "F"lipping "T"op "P"age
   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);
   // Place the "F"lipping "B"ottom "P"age
   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;
}
//
//
// Creates Shadows which follow edge of transition
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;
}
//
//
// Create Masks to hide everything
function makeMasks() {
   // Create mask for Flipping Bottom Page Mask
   this.createEmptyMovieClip("FBPageMask", 7);
   with (FBPageMask) {
      beginFill(0x005500, 100);
      lineto(pageWiHi, -PageWiHi);
      curveto(0, -2*PageWiHi, -pageWiHi, -pageWiHi);
      endFill();
   }
   // Create mask for Flipping Top Page
   FBPageMask.duplicateMovieClip("FTPageMask", 8);
   // Create mask for Shadow on the Flipping Page
   this.createEmptyMovieClip("FShadowMask", 9);
   makePage (FShadowMask, -dir);
   FShadowMask._rotation = dir*90;
   // Create mask for Shadow on Stationary Page
   this.createEmptyMovieClip("SShadowMask", 10);
   makePage(SShadowMask, dir);
   FBPage.setMask(FBPageMask);
   FTPage.setMask(FTPageMask);
   FShadow.setMask(FShadowMask);
   SShadow.setMask(SShadowMask);
}
//
//
// Hide pages before page1 and after Last Page
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;
      }
   }      
}
//
//
// How to position all pages needed for a page flip
// calls all functions listed above
function pageInit (cp, d) {
   flipPage = cp;
   dir = d;
   //trace ("flip page = "+flipPage+" dir = "+dir);
   setStationary();
   setFlipping();
   setShadows();
   makeMasks();
   limitBook ();
}
//
//
//
//
//
//__________________F L I P P I N G   F U N C T I O N S
//
// How to adjust position of flipping page
// based on a value between 0 and 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;
}
//
//
// how to determine position of flipping page
// returns a value between 0 and 1
// zero being no-flip and one being full-flip
function getPageRatio () {
   if (dragging) {
      // if dragging page position is determined by mouse position
      // the 20 helps advance the turning page when the button is pressed
      pageRatio = -dir*(_xmouse-startX-dir*20)/(2*pageWi);
   } else {
      // if not dragging; auto increment page towards final position
      pageRatio>2/3 ? pageRatio += autoStep : pageRatio -= autoStep;
   }
   // if out of bounds
   if (pageRatio<=0) {
      pageRatio = 0;
      if (!dragging) {
         flipDone();
      }
   } else if (pageRatio>=1) {
      pageRatio = 1;
      if (!dragging) {
         flipDone();
      }
   }
   return (pageRatio);
}
//
//
//
//
//
//_____________C O N T R O L I N G   F U N C T I O N S
//
// What to do when you press a page flipping button
function startFlip (dir) {
   pageInit (curPage+dir, dir);
   startX = dir*pageWi;
   dragging = true;
   RButton._alpha=0;
   Lbutton._alpha=0;
   this.onEnterFrame = function () {
      flip(getPageRatio());
   }
}
//
//
// what to do when page is released
function flipRelease () {
   dragging = false;
   if (pageRatio>2/3) {
      curPage+=2*dir;
   }
}
//
//
// What to do when pages are done flipping
function flipDone () {
   this.onEnterFrame = null;
   RButton._alpha = 100;
   LButton._alpha = 100;
   if (curPage!=.5){
      LButton._visible = 1;      
   }
   if (curPage!=maxPages+.5){
      RButton._visible = 1;
   }
   // Delete hidden pages to save resources
   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();
}
//
//
// assign functions to button events
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();
}
//
//
//
//
//


[edit]
Titel geändert
Bitte [code]-Tags verwenden.


Zuletzt bearbeitet von tacker am Do 29.06.2006 15:21, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Kai.S

Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht: Männlich
Verfasst Do 29.06.2006 15:31
Titel

Antworten mit Zitat Zum Seitenanfang

Wieso nimmst du nicht einfach das hier?
Ist openSource und da muss man zum blättern klicken...
http://www.iparigrafika.hu/pageflip/
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
 
Ähnliche Themen flashpräsentation - blättern in flash
Seite zum Blättern mit Flash?
Flash - Blättern wie in einem Buch
Schriftart im Java Script ändern
Php script zum ändern einer txt-datei
Externes Script zum ändern von (Tour)daten auf Homepage ges.
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.