New
Loading...
Hướng dẫn ngắn sau sẽ giúp bạn tìm hiểu cách gọi một hàm Javascript từ bên trong một file Flash sử dụng Action Script 3.


1Tạo một movie hoặc button để thực hiện hành động gọi hàm Javascript

Đặt Instance name của movie hoặc button đó với tên bắt kì trong ví dụ này là ButtonMC
Đưa button này vào một layer trong stage
Trên time line tạo một layer nằm trên layer của button với keyframe đặt code Action Script như sau:
import flash.external.ExternalInterface;

ButtonMC.addEventListener(MouseEvent.ROLL_OVER, ActionSC);

function ActionSC(e:MouseEvent):void
{
 ExternalInterface.call("ActionJS()");
}
Đoạn code trên dùng ButtonMC để gắn một hành động ROLL_OVER của chuột lên, khi roll chuột lên button, hàm ActionSC sẽ được gọi với một hành động gọi một hàm của Javascript bên ngoài
tên là ActionJS.

2Tạo một file html chứa file flash và hàm Javascript mà file flash đó sẻ gọi

Ví dụ ta sẻ tạo một hàm Javascript như sau:
<script>
   function ActionJS(){ alert('hello world!'); }
</script>
Lưu ý: Chỉ khi chạy file html chứa file flash và JS trên trình duyệt thì hành động mới được thực hiện

Tải file thực hiện ví dụ trong bài viết: Download

Chúc các bạn thành công!


Xem thêm:
- Hướng dẫn gọi hàm Javascript từ trong file Flash bằng Action Script 2
- Hướng dẫn cách convert swf sang HTML5 dễ dàng bằng Adobe Flash CC
- Tạo bộ đếm giờ (Countdown Timer) bằng Action Script 2 trong Flash
- Chèn nhạc từ bên ngoài vào file flash bằng ActionScript 3
- Load hình hoặc movie từ bên ngoài vào một file Flash với Action Script 2
- Load file hình hoặc movie từ bên ngoài vào một file Flash với Action Script 3
- Hướng dẫn gắn link (url) trong Flash Action Script 3


Hướng dẫn cách load 1 file nhạc từ bên ngoài vào file flash .swf bằng Action Script 3.0 chỉ với một đoạn script đơn giản.


Bước 1: Tạo file FLA lưu với tên tùy thích, chọn vào keyframe đầu tiên nhấn F9 để mở của sổ soạn thảo ActionScript và dán đoạn code sau vào:
    import flash.events.Event;
    import flash.media.Sound;
    import flash.net.URLRequest;

    var s:Sound = new Sound();
    s.addEventListener(Event.COMPLETE, onSoundLoaded);
    var req:URLRequest = new URLRequest("FileSound.mp3");
    s.load(req);

    function onSoundLoaded(event:Event):void
    {
        var localSound:Sound = event.target as Sound;
        localSound.play();
    }
Bước 2: Đổi đường dẫn FileSound.mp3 trong đoạn script trên thành đường dẫn của file nhạc mà bạn muốn chèn vào. Nhấn Ctrl + Enter để xem kết quả.

Nếu bạn muốn check lỗi load và xem thông tin load thì có thể sử dụng đoạn script sau:
    import flash.events.Event;
    import flash.events.ProgressEvent;
    import flash.media.Sound;
    import flash.net.URLRequest;

    var s:Sound = new Sound();

    s.addEventListener(ProgressEvent.PROGRESS, onLoadProgress);

    s.addEventListener(Event.COMPLETE, onLoadComplete);

    s.addEventListener(IOErrorEvent.IO_ERROR, onIOError);

    var req:URLRequest = new URLRequest("FileSound.mp3");
    s.load(req);

    function onLoadProgress(event:ProgressEvent):void
    {
        var loadedPct:uint = Math.round(100 * (event.bytesLoaded / event.bytesTotal));
        trace("The sound is " + loadedPct + "% loaded.");
    }

    function onLoadComplete(event:Event):void
    {
        var localSound:Sound = event.target as Sound;
        localSound.play();
    }

    function onIOError(event:IOErrorEvent)
    {
        trace("Lỗi trong khi load file: " + event.text);
    }
Tương tự bạn đổi đường dẫn FileSound.mp3 trong đoạn script trên thành đường dẫn của file nhạc mà bạn muốn chèn vào. Nhấn Ctrl + Enter để xem kết quả.

Lưu ý: Thông số load file và lỗi load chỉ hiển thị trong giao diện trace của phần mềm Flash, không hiển trị khi chạy trực tiếp bằng file .swf

Chúc các bạn thành công!

Xem thêm:
- Tạo bộ đếm giờ (Countdown Timer) bằng Action Script 2 trong Flash
- Load hình hoặc movie từ bên ngoài vào một file Flash với Action Script 2
- Load file hình hoặc movie từ bên ngoài vào một file Flash với Action Script 3
- Hướng dẫn gắn link (url) trong Flash Action Script 3
- Cách gọi hàm Javascript từ trong file Flash bằng Action Script 3
Để load file hình hoặc movie từ bên ngoài vào một file Flash với Action Script 3 thì bạn thực hiện các bước đơn giản sau:

- Tạo một file làm việc FLA và đặt tên tùy ý, kích thước tùy ý nhưng phải là Action script 3.0.

- Ở key frame đầu tiên nhấn F9 để mở khung nhập Action tại keyframe đó lên và coppy nội dung dưới đây vào:

var myLoader:Loader = new Loader();                     
var url:URLRequest = new URLRequest("filemovie.swf"); 
myLoader.load(url);                                     
addChild(myLoader);                                     
// Set vị trí swf sẻ hiển thị trên stage
myLoader.x = 10;                                        
myLoader.y = 175
         // Set kích thước swf sẻ hiển thị trên stage
     myLoader.scaleX = 2;   
     myLoader.scaleY = 2;

-  Điền các thông số sau theo đúng ý bạn:
+ filemovie.swf là đường dẫn file swf bạn muốn load từ bên ngoài.
+ x là tọa độ x trên stage mà bạn muốn đặt file swf
+ y là tọa độ y trên stage mà bạn muốn đặt file swf
+ scaleX: là độ kéo giản của file swf theo chiều ngang
+ scaleY là độ kéo giản file swf theo chiều dọc

Sau khi điền xong bạn nhấn Save và nhấn Ctr + Enter để chạy thử nhé


Chúc bạn thành công!

Xem thêm:
- Load hình hoặc movie từ bên ngoài vào một file Flash với Action Script 2  
- Tạo bộ đếm giờ (Countdown Timer) bằng Action Script 2 trong Flash
- Chèn nhạc từ bên ngoài vào file flash bằng ActionScript 3
- Load file hình hoặc movie từ bên ngoài vào một file Flash với Action Script 3
- Hướng dẫn gắn link (url) trong Flash Action Script 3
Hướng dẫn nhanh cách gắn link (url) trong Flash Action Script 3

Bước 1: Tạo một button và đặt instance name tùy ý, trong ví dụ sau mình sẻ đặc tên là  my_btn.
Trước khi tạo một button, bạn có thể tạo các movieclip tùy thích trên file làm việc đó. Nhưng sau khi tạo button bạn phải đặt button đó ở frame đầu tiên từ trên xuống trong Timeline.

Bước 2:
Tạo một keyframe nằm trên keyframe chứa button, chọn vào keyframe nhấn F9 để nhập code Action script sau vào:

my_btn.addEventListener(MouseEvent.CLICK, myBtnClicked);
function myBtnClicked(e:MouseEvent):void {
navigateToURL(new URLRequest("http://www.obinb.com/"), "_blank");
} 
Bước 3: Thay đổi đường link trong action  "http://www.obinb.com.com/"  thành đường link bạn muốn, bạn có thể thay đổi thuộc tính Target "_blank" thành _self, _top hoặc _parent tùy ý.

Chúc bạn thành công! 

Xem thêm:
- Tạo bộ đếm giờ (Countdown Timer) bằng Action Script 2 trong Flash
- Chèn nhạc từ bên ngoài vào file flash bằng ActionScript 3
- Load hình hoặc movie từ bên ngoài vào một file Flash với Action Script 2
- Load file hình hoặc movie từ bên ngoài vào một file Flash với Action Script 3
- Hướng dẫn gắn link (url) trong Flash Action Script 3
- Cách gọi hàm Javascript từ trong file Flash bằng Action Script 3