示例#1
0
        public static void FlipPage(BookPro book, float duration, FlipMode mode, Action OnComplete)
        {
            PageFlipper flipper = book.GetComponent <PageFlipper>();

            if (!flipper)
            {
                flipper = book.gameObject.AddComponent <PageFlipper>();
            }
            flipper.enabled     = true;
            flipper.book        = book;
            flipper.isFlipping  = true;
            flipper.duration    = duration - Time.deltaTime;
            flipper.finish      = OnComplete;
            flipper.xc          = (book.EndBottomLeft.x + book.EndBottomRight.x) / 2;
            flipper.pageWidth   = (book.EndBottomRight.x - book.EndBottomLeft.x) / 2;
            flipper.pageHeight  = Mathf.Abs(book.EndBottomRight.y);
            flipper.flipMode    = mode;
            flipper.elapsedTime = 0;
            float x;

            if (mode == FlipMode.RightToLeft)
            {
                x = flipper.xc + (flipper.pageWidth * 0.99f);
                float y = (-flipper.pageHeight / (flipper.pageWidth * flipper.pageWidth)) * (x - flipper.xc) * (x - flipper.xc);
                book.DragRightPageToPoint(new Vector3(x, y, 0));
            }
            else
            {
                x = flipper.xc - (flipper.pageWidth * 0.99f);
                float y = (-flipper.pageHeight / (flipper.pageWidth * flipper.pageWidth)) * (x - flipper.xc) * (x - flipper.xc);
                book.DragLeftPageToPoint(new Vector3(x, y, 0));
            }
        }
示例#2
0
 // Use this for initialization
 void Start()
 {
     if (!ControledBook)
     {
         ControledBook = GetComponent <BookPro>();
     }
     ControledBook.interactable = false;
     if (AutoStartFlip)
     {
         StartFlipping();
     }
 }