Thanh Dương xin chào

4 khách và 0 thành viên

Ảnh ngẫu nhiên

BannerHongAnh.swf 270.jpg Mungxuan.swf Happy_new_year.swf _NGUOI_THAY__NHAT_HUY.swf 01_TIENG_HAT_TU_TP_HO_CHI_MINH.swf Cover201115.jpg Donghosocogiay2chuden.swf Donghosocogiay2chutrang.swf Donghosocogiay12chutrang.swf Donghoso12.swf Donghoso21.swf Donghoso2.swf Donghoso1.swf Donghosocogiay1.swf Donghosocogiay.swf Donghoso.swf Clock_LienBich.swf Ad_cadao.swf Videoplayback_.flv

Tài nguyên dạy học

Điều tra ý kiến

Bạn thấy trang này như thế nào?
Đẹp
Đơn điệu
Bình thường
Ý kiến khác

Sắp xếp dữ liệu

Nhúng mã HTML

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • thống kê truy cập

    free counters
    Gốc > Những vấn đề về CNTT > Bài viết về Flash >

    Actions Script 2.0 - Biến

    biến

    (variables)

    - Biến là một vùng nhớ chứa giá trị của 1 kiểu dữ liệu nào đó: ví dụ var myScore: Number=2; biến myScore có giá trị là 2, kiểu dữ liệu là Number (kiểu số)
    - Tên biến là duy nhất và được khai báo ngay khi tạo biến, như vậy không thể có mặt đồng thời 2 biến trùng tên trong chương trình.

    - Biến có thể được gán giá trị là một hằng số (var myScore:Number=10;) hay là kết quả trả về của một hàm (var myScore=function (){})

    I. kiểu dữ liệu của biến
    a. Biến nguyên thủy (primitive): dữ liệu là 1 giá trị bất biến, 1 hằng số

    - String (chuỗi): là 1 chuổi ký tự, luôn được khai báo trong dấu nháy  var myStr:String = "u like ActionScript?";

    trace(myStr);//u like ActionScript

    - Number (số): là một con số var myNum:Number=10;

    trace("The value is "+ myNumber);//The value is 10

    - Boolean (luận lý): kiểu dữ liệu đúng, sai (true, false). var myBoo:Boolean=false; Chỉ nhận 1 trong 2 giá trị như ví dụ sau

    var myNum:Number=2;
    var myBoo:Boolean = (myNum>0);
    if (myBoo==true) var myStr:String = "u right, kq="+myNum+">0";
    else var myStr:String = "u wrong, kq="+myNum+"<0";
    trace(myStr);
    // u right, kq=2>0
    b. Biến tham chiếu (reference): giá trị có thể thay đổi do biến là 1 tham chiếu từ 1 instance trong 1 class, đây là kiểu biến của MovieClip và Object.
    Object: là tập hợp các thuộc tính của 1 đối tượng, các thuộc tính như: tên, giá trị. Khi đề cập phải chỉ rõ thuộc tính của đối tượng nào thông qua cú pháp dấu chấm.

    var employee:Object = new Object(); // khai báo instance "employee" của class Object qua toán tử new
    //Các thuộc tính của employee

    employee.name = "Steve"; //tên của employee
    employee.age = 24;
    //tuổi của employee
    employee.sex = "male"
    //giới tính của employee
    movie clip: Movie clips là 1 symbol thể hiện 1 họat cảnh trong flash. Các đối tượng thuộc lớp movie clip có các thuộc tính riêng. Ví dụ khai báo phương thức startDrag của MovieClip "my_mc": my_mc.startDrag(true);

    Ngoài ra còn 1 số kiểu biến khác như: null (chưa gán giá trị), undefined: (Không xác định được giá trị), NaN (không là 1 number)

    note Giá trị biến có thể thay đổi liên tục thông qua lệnh gán như ví dụ bên:
    Đầu tiên x =15 và copy giá trị vào y. gán lại cho x=30 thì giá trị của y vẫn là 15.
        var x:Number = 15;
    var y:Number = x;
    var x:Number = 30;
    trace(x); trace(y);
    //30/15
             
    note Thêm 1 ví dụ như biến inValue lúc đầu có giá trị bằng 3, và giá trị này đuợc gán cho biến out qua hàm sqrt() giá trị trả về sau cùng là out=9, và x=3:     function sqrt(x){
       return x * x;
       }
    var inValue:
    Number= 3;
    var out:Number = sqrt(inValue);

    II. Sử dụng biến
    1. Đặt tên biến (Trong properties panel): bao gồm tên biến và kiểu biến, ví dụ các kiểu của biến my
    my_mc (kiếu biến movie clip), my_btn (kiếu biến button), my_arr (array), my_str (String), my_txt (text), my_lv (LoadVar)...
    2. Cú pháp (Syntax)
    - khai báo biến nguyên thuỷ là  var tenbien : kieudulieu = giá trị;  

    var myNum:Number = 3; //Khai báo biến "myNum" có giá trị là 3, kiểu Number
    var a,b,c:Number;
    //Khai báo 3 biến kiểu Number a,b,c
    var name:String = "Steve", age:Number = 34;
    //Khai báo biến "name" giá trị là Steve, kiểu String

    //biến "age" giá trị là 34, kiểu Number
    note giá trị của biến có thể thay đổi trong khi chay chương trình qua phép gán như sau

    var myNum:Number=10; //Đầu tiên giá trị myNum là 10
    myNum= Number(5)-Number(2)*4; //Gán giá trị myNum cho phép tính 5-2*4
    trace(myNum);
    //Kết quả -3
    - Khai báo biến tham chiếu: Tạo mới 1 instance của 1 class, dùng toán tử "new" để khởi tạo hàm constructor của class đó ( Hàm constructor luôn trùng với tên class), và trả về 1 instance mà bạn sẽ gán vào biến "song". Ví dụ sau tạo một đối tượng sound

    Một số class dựng sẵn như: Array, Boolean, Date, Error, Function, Math, Number, Object, String, Sound, Video, Button, LoadVars Color,TextField, XML. Trong đó Object class là class gốc, các class còn lại đều kế thừa các phương thức và thuộc tính của class Object.
     III. Phạm vi họat động của biến (variable scope)
    1. Biến phải được khai báo trước khi sử dụng, nếu không giá trị trả về sẽ là NaN hoặc undefined (Không xác định)

    SAI   ĐÚNG

    var squared:Number = x*x;
    trace(squared);
    // NaN
    var x
    :Number = 6;

     

    var x:Number = 6;
    var squared:Number = x*x;
    trace(squared);
    // 36

         

    getURL(myWebSite);// no action
    var myWebSite:String = "http://www.macromedia.com";

     

    var myWebSite:String = "http://www.macromedia.com";
    getURL(myWebSite);
    // mở trang www.macromedia.com

    2. Biến khai báo trong timeline nào thì phạm vi họat động chỉ trong timeline đó, ở những khu vực khác thì biến xem như không tồn tại. Hãy xét qua thí dụ minh họa sau:

    - Nhập dòng khai báo biến var i:Number =5; trong keyframe 1 ở main timeline.
    - Nhập dòng trace(i); trong keyframe 1 ở movieClip nào đó.
    - Khi chạy file (Ctrl_Enter) thì bạn sẽ nhận được kết quả là underfind.
    Giải thích: flash không tìm được giá trị của biến i do chỉ tìm trong movieClip thôi (trong khi bạn đã gõ nó vào main timeline). Để khắc phục bạn có thể dùng 1 trong 3 cách sau:

    - sửa lệnh thành trace(_root.i); \\chỉ rõ vi trí khai báo biến i
    - Khai báo var i:Number =5; trong movieClip thay vì ở main timeline
    3. biến cục bộ (local variable) và biến toàn cục (global variable):
    Biến cục bộ (local variale): Khi chỉ cần sử dụng biến trong 1 hàm hoặc 1 timeline thì biến nên được khai báo ngay trong hàm, timeline đó.

      function test (){
    var i
    :Number = 5;
    trace (i);
    }
    test();
    //  kết quả bằng 5: xuất hàm i thông qua hàm test
    trace (i);
    // kết quả là undefined do gọi biến ngoài hàm i

    Biến toàn cục (global variable): Với một biến sử dụng rộng khắp cho mọi hàm, mọi timeline thì biến nên được khai báo theo kiểu biến toàn cục như sau _global.numUsers=5; thay vì var numUsers:Number=5; như trường hợp biến cục bộ.


    Nhắn tin cho tác giả
    Đỗ Thanh Dương @ 22:17 28/10/2010
    Số lượt xem: 669
    Số lượt thích: 0 người
     
    Gửi ý kiến

    HỖ TRỢ QUẢN TRỊ WEBSITE

    Thay tên website / Chọn thư mục / Mở ra
    Giao diện Module Thư mục Thành viên Tài nguyên Xóa Code
    http://