Gốc > Thảo luận Flash > Bài hướng dẫn >

Chọn ảnh phóng to

Bước 1: Chèn các bức ảnh vào trang soạn thảo

1. Đặt lại tên lớp đầu tiên là “anh”, vào menu File - Import - Import to stage, chọn các file ảnh cần đưa vào trang soạn thảo và nhấn Open.

2. Sử dụng công cụ Free Transfrom Tool để căn chỉnh kích thước và vị trí của từng bức ảnh như hình sau:

lala_400

3. Lần lượt chuyển các bức ảnh thành các Movie clip với các Instance Name tương ứng là “anh1_mc”, “anh2_mc”, ...

Convert sang MovieClip:

convert_symbol_500

Đặt Instance name:

instance_name2_500
 

Bước 2: Tạo hiệu ứng phóng to

Tạo thêm một lớp mới đặt tên là “dieu_khien”. Nhấn vào Frame 1 của lớp “dieu_khien”, nhấn F9 để hiện bảng Action - Frame rồi nhập vào đó các lệnh sau:

var arr:Array = [anh1_mc, anh2_mc, anh3_mc, anh4_mc];

var dang_chay:Boolean = false;

 

for (var i:Number = 0; i < arr.length; ++i) {

      var mc:MovieClip = arr[i];

      mc.x = mc._x;

      mc.y = mc._y;

      mc.w = mc._width;

      mc.h = mc._height;

      var ratio1:Number = Stage.width / mc._width * 100;

      var ratio2:Number = Stage.height / mc._height * 100;

      mc.target_scale = Math.min(ratio1, ratio2);

      mc.onRelease = anhbe;

}

function anhbe():Void {

      if (dang_chay) return;

      this.target_x = (Stage.width - this._width * this.target_scale / 100) / 2;

      this.target_y = (Stage.height - this._height * this.target_scale / 100) / 2;

      this.swapDepths(this._parent.getNextHighestDepth());

      dang_chay = true;

      this.onEnterFrame = phongto;

}

function anhto():Void {

      if (dang_chay) return;

      this.target_x = this.x;

      this.target_y = this.y;

      dang_chay = true;

      this.onEnterFrame = thunho;

}

function phongto():Void {

      this._x += (this.target_x - this._x) / 3;

      this._y += (this.target_y - this._y) / 3;

      this._xscale += (this.target_scale - this._xscale) / 3;

      this._yscale = this._xscale;

      if (this._xscale >= this.target_scale - 1) {

            delete this.onEnterFrame;

            dang_chay = false;

            this.onRelease = anhto;

      }

}

function thunho():Void {

      this._x += (this.target_x - this._x) / 3;

      this._y += (this.target_y - this._y) / 3;

      this._xscale += (100 - this._xscale) / 3;

      this._yscale = this._xscale;

      if (this._xscale <= 101) {

            delete this.onEnterFrame;

            dang_chay = false;

            this.onRelease = anhbe;

      }

}

Nhấn Ctrl + Enter để xem kết quả. Bạn nhấn vào bức ảnh nhỏ nào thì bức ảnh đó sẽ được phóng to ra đầy cửa sổ. Nhấn vào bức ảnh to thì bức ảnh sẽ thu nhỏ lại.

Lưu ý: Nếu bạn có nhiều ảnh hơn thì bạn cũng làm tương tự và khai báo thêm vào dòng lệnh điều khiển đầu tiên: var arr:Array = [anh1_mc, anh2_mc, anh3_mc, anh4_mc]; các Instance Name của các Movie mà bạn thêm vào.  Ví dụ, bạn có 6 ảnh và bạn đã chuyển 6 ảnh đó thành các Movie clip có Instance Name tương ứng là anh1_mc, anh2_mc, ..., anh5_mc, anh6_mc thì dòng lệnh điều khiển đầu tiên sẽ là: var arr:Array = [anh1_mc, anh2_mc, anh3_mc, anh4_mc, anh5_mc, anh6_mc];

Bước 3: Lưu phim

Lưu file soạn thảo trên với tên “phongto.fla” rồi nhấn Ctrl + Enter để xuất bản đoạn mô phỏng thành file chạy độc lập “phongto.swf”.



Nhắn tin cho tác giả
Trương Hoàng Anh @ 11:48 28/08/2009
Số lượt xem: 4481
Số lượt thích: 0 người
Avatar
tôi có tải một số file sác xuất làm từ plash ,tôi rất muốn học hỏi để có thể tự làm nhờ thầy bày chi tiết giúp tôi với.
Avatar
Thầy Minh có thể đưa lên 1 số bài minh họa được không ạ?
Avatar

Nếu được, các thầy trong nhóm QT cố gắng giải thích ý nghĩa từng dòng Action Script để giúp chúng tôi tìm hiểu vấn đề được sâu hơn, có thế sau này mới biết vận dụng vào thiết kế điều khiển các sản phẩm cụ thể của chính mình được.

Cám ơn các thầy nhiều!

Avatar
Vâng. Xin tiếp thu ý kiến của thầy Cường :D
Avatar

Xin chào thầy Tuấn, trang flash của thầy rất bổ ích đối với cộng đồng Violet chúng ta. Xin được làm thành viên trang của thầy.

Chúc thầy mạnh khoẻ, hạnh phúc.

 
Gửi ý kiến