Flash ActionScript 3 scaleY để mở một phong bì
Bây giờ chúng tôi đã lập trình nắp phong bì trong Flash của chúng tôiR Hoạt hình xuất hiện mở hoàn toàn phía trên phong bì khi nhấp vào nút tem, chúng ta cần tinh chỉnh hình ảnh động để làm cho nó xuất hiện rằng nắp đang mở từ từ. Chúng tôi sẽ làm điều này bằng cách kiểm soát hai thuộc tính của nắp. Hãy nhớ rằng, đối tượng newFlap là một biến tham chiếu đoạn phim FlapAni trong Thư viện. Chúng tôi sử dụng var này để làm cho vạt xuất hiện trên sân khấu.

Để xem xét nhanh, trong hướng dẫn trước, chúng tôi đã lập trình một hàm gọi là openFlap để thêm một đối tượng newFlap vào Danh sách hiển thị. Chúng tôi đã làm điều này với mã addChild. Chúng tôi cũng đặt vị trí ban đầu cho các thuộc tính newFlap.x và newFlap.y. Điều này đặt đáy của nắp ở cạnh trên của phong bì. Như đã đề cập trước đó, các giá trị của bạn cho vị trí x và y trên sân khấu có thể thay đổi tùy thuộc vào kích thước và vị trí của phong bì.

Điều đầu tiên mà chúng ta cần làm là thử nghiệm để tìm giá trịFlap.y mới sẽ đặt nắp bên dưới mép trên của phong bì, và do đó khuất tầm nhìn khi bắt đầu hoạt hình. Trong thực tế, chúng tôi muốn điểm của vạt tam giác nằm ngay dưới mép trên của phong bì. Trong khi bạn đang thử nghiệm, có thể dễ dàng di chuyển vạt 100 pixel sang phải bằng cách đặt newFlap.x thành 300 (thêm 100). Điều này sẽ làm cho nắp một phần có thể nhìn thấy ở phía bên phải của phong bì. Sau khi thử nghiệm, tôi thấy rằng giá trị 200Fapap.y mới là 200 tôi cần. Đây là vị trí ban đầu mới của chúng tôi cho nắp. Đừng quên đặt giá trị newFlap.x trở lại giá trị ban đầu trước khi chuyển sang bước tiếp theo.

  1. Chúng tôi cần thay đổi mã hiện có từ hướng dẫn trước để phản ánh giá trị 200Flap.y mới của chúng tôi là 200. Kiểm tra phim của bạn sau khi thực hiện thay đổi này và bạn không nên xem nắp khi bạn nhấp vào nút tem.

    newFlap.y = 200;

    Đối với hoạt hình của chúng tôi, chúng tôi muốn vạt từ từ di chuyển lên trên phía trên phong bì. Đồng thời, chúng ta sẽ cần mở rộng nắp mở từ giá trị tỷ lệ ban đầu bằng không. Bằng cách bắt đầu với tỷ lệ được đặt thành 0, chúng ta có thể làm chậm tỷ lệ nắp để mở hoàn toàn. Giá trị y sẽ di chuyển nắp lên trên nhưng chính giá trị tỷ lệ sẽ làm cho nắp mở ra.

  2. Thay đổi tiếp theo của hàm sẽ là việc thêm mã sẽ đặt scaleY thành zero và làm phẳng nắp.

    newFlap.scaleY = 0;

    Bây giờ chúng ta cần làm việc trên một phần của hình ảnh động sẽ mở nắp. Có một số cách để làm điều này với ActionScript. Trong hướng dẫn này, chúng tôi sẽ sử dụng Trình lắng nghe sự kiện gắn liền với giai đoạn để chạy chức năng thứ hai mà chúng tôi sẽ gọi scaleFlap. Chúng ta sẽ đặt hàm thứ hai này bên trong hàm openFlap.

  3. Theo mã scaleY, hãy thêm Trình lắng nghe sự kiện vào giai đoạn. Đây là những gì sẽ chạy chức năng scaleFlap.

    giai đoạn.addEventListener (Event.ENTER_FRAME, scaleFlap);

  4. Tiếp theo, thêm chức năng thứ hai. Sao chép và dán mã này vào chức năng openFlap.

    Hàm scaleFlap (sự kiện: Sự kiện): void
    {
    if (newFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }
    khác
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2.9;}
    }


    Hãy kiểm tra mã. Câu lệnh if đầu tiên sẽ kiểm tra giá trị scaleY để xem nó lớn hơn hoặc bằng 1. Số 1 biểu thị giá trị tỷ lệ là 100%). Nếu điều kiện là đúng, chúng tôi sẽ xóa Trình nghe sự kiện và dừng hoạt ảnh.

    Nếu điều kiện là sai, chúng tôi sẽ tiếp tục hoạt ảnh bằng cách tăng giá trị scaleY bằng 0,05 và di chuyển nắp lên trên bằng âm 2,9. (Trên giai đoạn Flash, chúng tôi di chuyển lên trên bằng cách giảm giá trị số của vị trí Y.) Điều này sẽ tiếp tục với mỗi khung hình mới cho đến khi điều kiện cho câu lệnh if là đúng.

    Một lần nữa, các giá trị số này có thể khác nhau cho phim của bạn do kích thước của phong bì và vị trí của phong bì trên sân khấu. Đây là hình ảnh động cuối cùng.

Bản quyền 2018 Adobe Systems Incorporated. Đã đăng ký Bản quyền. (Các) ảnh chụp màn hình sản phẩm Adobe được in lại với sự cho phép của Adobe Systems Incorporated. Adobe, Photoshop, Album Photoshop, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Đóng góp, Cap activate, Flash Catalyst và Flash Paper là / là [a] nhãn hiệu đã đăng ký [s] hoặc nhãn hiệu [s] của Adobe Systems Incorporated tại Hoa Kỳ và / hoặc các quốc gia khác.