New
Loading...
Chúng ta đã biết cách gọi một function Javascript từ file Flash bằng AS3 ở bài viết  Cách gọi hàm Javascript từ trong file Flash bằng Action Script 3.  Hôm nay chúng ta sẻ 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 2.


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

Đưa button này vào một layer trong stage, nhấn F9 để đặt code Action script như sau vào:
on(rollOver)
{
    getURL("javascript:ActionJS()");
}
Đoạn code trên gắn một hành động rollOver của chuột lên button, khi roll chuột lên button, hàm Javascript ActionJS bên ngoài sẻ được gọi và thực hiện.

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

Sử dụng Action Script 2 có vẻ đơn giản hơn Action Script 3 phải không nào. 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
- 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 convert swf sang HTML5 dễ dàng bằng Adobe Flash CC

Sau đây là hướng dẫn tạo bộ đếm giờ (Countdown Timer) bằng Action Script 2 trong Flash. Các bước thực hiện khá đơn giản như sau:


Bước 1: Tạo một layer chứa các đối tượng dynamic text của bộ bộ đếm, tạo 4 đối tượng là dynamic text trên layer đó gồm Ngày, Giờ, PhútGiây, tương ứng với instance name time_txt1, time_txt2, time_txt3, time_txt4

Bước 2: Tạo một layer khác chứa Action Script xử lý timer như sau:
this.onEnterFrame = function()
{
 //lưu trữ dữ liệu ngày
 var today:Date = new Date();
 //lưu trữ dữ liệu năm, lấy năm hiện tại
 var currentYear = today.getFullYear();
 //lưu trữ dữ liệu giờ
 var currentTime = today.getTime();
 //tạo và lưu trữ dữ liệu thời gian được chọn
 var targetDate:Date = new Date(currentYear,7,27,15);
 var targetTime = targetDate.getTime();
 //Xác định thời gian hoàn thành, đơn vị là milliseconds
 var timeLeft = targetTime - currentTime;
 var sec = Math.floor(timeLeft/1000);
 var min = Math.floor(sec/60);
 var hours = Math.floor(min/60);
 var days = Math.floor(hours/24);
 //Lấy giá trị của biến còn lại. Chuyển "sec" (giây) thành chuỗi
 sec = String(sec % 60);
 //Với một chuỗi ta có thể kiểm tra được độ dài kí tự( length)
 if(sec.length < 2){
  sec = "0" + sec;
 }
 min = String(min % 60);
 if(min.length < 2){
  min = "0" + min;
 }
 hours = String(hours % 24);
 if(hours.length < 2){
  hours = "0" + hours;
 }
 days = String(days);
 
 if(timeLeft > 0 ){
  //Gán các giá trị cho từng chuỗi trên stage
  var counter_days:String = days;
  var counter_hours:String = hours;
  var counter_min:String = min;
  var counter_sec:String = sec;
  time_txt1.text = counter_days;
  time_txt2.text = counter_hours;
  time_txt3.text = counter_min;
  time_txt4.text = counter_sec;
 }else{
  trace("TIME'S UP");
        var newTime:String = "00:00:00:00";
        time_txt.text = newTime;
        delete (this.onEnterFrame);
 }
}
Tại đoạn code:
var targetDate:Date = new Date(currentYear,7,27,15);
- Có nghĩa vào thời gian là năm hiện tại, ngày 27, tháng 7, vào lúc 15 giờ sẻ hết thời gian đếm. Bạn chỉ cần thay thời gian mình muốn vào.

Lưu lại và chạy để xem kết quả nhé.

 Download file FLA tại đây

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

Xem thêm:
- Hướng dẫn cách convert swf sang HTML5 dễ dàng bằng Adobe Flash CC
- Một số hiệu ứng ánh sáng chói trong Flash để làm banner, intro
- Tổng hợp những hiệu ứng ánh sáng flash để làm banner hoặc intro
- Chèn nhạc từ bên ngoài vào file flash bằng ActionScript 3
- Tạo bộ đếm giờ (Countdown Timer) bằng Action Script 2 trong Flash
- 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 2 thì bạn thực hiện theo 3 cách đơn giản sau:

Cách 1:
loadMovie("contents.swf", image_mc);
Cách 2:
image_mc.loadMovie("contents.swf");
Bạn có thể sử dụng cách load movie để load hình ảnh như sau:
image_mc.loadMovie("http://obinb.com/image1.jpg");
Lưu ý: Trong các đoạn script trên, image_mcinstance name của một movieClip trong library

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

Xem thêm:
- Load file hình hoặc movie từ bên ngoài vào một file Flash với Action Script 3 
- 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
- Hướng dẫn 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à  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 nằm trên các thành phần khác trong stage.

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:
btn.onRelease = function(){
    getURL("http://obinb.com", "_blank");
}
Bước 3: Thay đổi đường link trong action  "http://beetiny.blogspot.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 ý.

Các bạn có thể tải file ví dụ bằng đường link bên dưới:

http://www.mediafire.com/download/feadw7011512165/beetiny_link_as2_11.fla

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
- 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