Giờ thứ 01: Làm quen với as giờ thứ 02: Sử dụng Action panel



tải về 0.7 Mb.
trang4/5
Chuyển đổi dữ liệu30.08.2016
Kích0.7 Mb.
#29200
1   2   3   4   5

CODE

onClipEvent(load) {


   n = 0;
   radius = 100;
   centerX = 150;
   centerY = 150;
}

onClipEvent(enterFrame) {


   n += .1;
   this._x = Math.cos(n) * radius + centerX;
   this._y = Math.sin(n) * radius + centerY;
}

Chữ (string) và số (number)

Có rất nhiều cách để chuyển đổi từ chuỗi sang số và ngược lại. Ví dụ như trường hợp người dùng nhập một số vào text field, bạn sẽ nhận giá trị đó và cộng thêm một. Hãy xem đoạn code sau đây, num là một biến giá trị text field



CODE

b = num + 1;

Nếu num = 42, vậy thì b sẽ là 43, đúng không? Xin trả lời là sai, kết quả b là 421, đơn giản bởi vì num là một chuỗi (string) chứ không phải là một số, vì thế khi chúng ta thực hiện phép cộng num với 1 có nghĩa là cộng ký tự “1” vào chuỗi num đang có giá trị “42”.
Để làm cho Flash hiểu num là một số, bạn có thể sử dụng một trong hai hàm sau đây để chuyển một chuỗi thành số. Hàm parseInt chuyển một chuỗi thành kiểu số nguyên, hàm parseFloat chuyển một chuỗi thành kiểu số thực. Ví dụ hàm parseInt(“42”) sẽ trả về giá trị là 42, nếu chúng ta sử dụng parseInt(“42.9”) thì cũng sẽ nhận được giá trị là 42 bởi vì hàm parseInt không làm tròn số, nó chỉ lấy phần nguyên mà thôi. Còn nếu sử dụng hàm parseFloat(“42.9”) bạn sẽ nhận được giá trị là 42.9, muốn làm tròn các bạn có thể sử dụng hàm Math.round(parseFloat(“42.9”)). Hàm parseFloat cũng sẽ trả về một một số nguyên nếu tham số truyền vào là một chuỗi số nguyên. Ví dụ parseFloat(“42”) sẽ cho ta số 42. Trừ trường hợp bạn muốn trả về một giá trị số nguyên, còn không bạn nên sử dụng hàm parseFloat.
Một nét rất đặc biệt và rất hay của hàm parseInt là có thể chuyển một chuỗi thành một số nhưng thành nhiều dạng hệ số khác nhau. Hãy xem một ví dụ cho dễ hiểu:

CODE

parseInt(“FF”, 16);

Hàm này sẽ trả về giá trị là 255, ý nghĩa của nó là chuyển chuỗi chứa số FF là một số hexa hệ số 16 thành một số hệ nguyên hệ số 10.
Ngược lại, để chuyển từ một số sang một chuỗi, hãy sử dụng hàm toString. Hàm này sẽ hoạt động khác với hàm parse, bởi vì nó hoạt động bên trong mỗi biến, gọi hàm này sau dấu chấm (.). Xem ví dụ nhé:

CODE

a = 135;
trace(a.toString() + 1);

Kết quả sẽ là 1351.
Chúng ta cũng có thể sử dụng hàm toString để chuyển một số thành một chuỗi chứa số dưới một hệ số khác. Ví dụ a.toString(16) sẽ trả về kết quả là chuỗi “ff”

Số ngẫu nhiên

Tạo số ngẫu nhiên là một phần quan trọng trong công việc thiết kế game và một số hoạt hình. Bởi vì nếu không có sô ngẫu nhiên thì những đoạn phim của bạn sẽ chạy giống nhau, không còn gì thú vị nữa!


Để tạo số ngẫu nhiên, bạn có thể sử dụng hàm Math.random(). Hàm này sẽ trả về một giá trị từ 0.0 đến 1.0 nhưng thường thì không trả về giá trị bằng 1.0
Hãy xem ví dụ dưới đây, bạn sẽ nhận được con số ngẫu nhiên trong cửa sổ OutPut

CODE

trace(Math.random());

Kết quả trả về đại loại giống như 0.023268056102097, nhưng mỗi lần lại khác nhau.
Một ví dụ khác là bạn cần tạo một số ngẫu nhiên từ 1 đến 10, việc này rất đơn giản, chỉ cần nhân thêm số ngẫu nhiên cho 10. Đoạn code sau sẽ cho ta con số ngẫu nhiên từ 0.0 đến 10.0

CODE

trace(Math.random() * 10);

Nhưng cái chúng ta cần là con số ngẫu nhiên từ 1.0 đến 10.0 chứ không phải từ 0.0 đến 10.0, vì thế, hãy cộng thêm 1

CODE

trace(Math.random() * 10 + 1);

Bây giờ thì kết quả trả về là 1.0 đến 11.0 nhưng sẽ không có kết quả 11.0. Hãy sử dụng hàm Math.floor để làm tròn xuống.

CODE

trace(Math.floor(Math.random() * 10 + 1));

Thật ra thì con số ngẫu nhiên trong máy tính cũng chưa thật sự ngẫu nhiên. Bởi vì nó không thật sự thay đổi trong bộ vi xử lý. Thay vào đó sẽ có một con số chuẩn, một con số nào đó không biết trước được như là giờ hoặc phút… của hệ thống, con số này sẽ được đưa và một biểu thức rất phức tạp, rất rất phức tạp mà chúng ta không thể đoán được. Kết quả trả về cho chúng ta kết quả dường như là ngẫu nhiên. Kết quả này sẽ được đưa và một hàm tính một lần nữa là lưu lại thành con số chuẩn để tính ngẫu nhiên cho lần tiếp theo.
Hãy nghĩ về điều này, số ngẫu nhiên trong đời sống thật sự cũng không thật sự ngẫu nhiên. Nếu chúng ta giữ một mặt của con xúc xắc, thẩy đúng theo một hướng thật chính xác, chúng ta sẽ có cùng một kết quả
Được rồi, bây giờ hãy thử tạo một số ngẫu nhiên từ 3 đến 7. Làm thế nào đây? Ah, có một thủ thuật cho bạn đây:

CODE

trace(Math.floor(Math.random() * 5 + 3);

Trong phạm vi từ 3 đến 7 sẽ có tất cả là 5 số nguyên 3, 4, 5, 6, và 7. Thế còn trong phạm vi từ 50 đến 100 thì sao

CODE

trace(Math.floor(Math.random() * 51 + 50);


Là số 51 bởi vì trong phạm vi từ 50 đến 100 có 51 số, còn nếu từ 51 đến 100 sẽ là

CODE

trace(Math.floor(Math.random() * 50 + 50);

Một cách để thử xem phạm vi của bạn có đúng như ý của mình không, đó là hãy thử với số nhỏ nhất và số lớn nhất thay cho Math.random(). Giá trị nhỏ nhất của hàm Math.random() là 0, hãy thử với số 0 nhé

CODE

trace(0 * 51 + 50);


Giá trị lớn nhất của Math.random() sẽ không chính xác bằng 1.0 mà sẽ là gần bằng, vậy chúng ta hãy thử với giá trị là 0.9999

CODE

trace(.9999 * 51 + 50);


Hãy thử xem có đúng không nhé!
Dưới đây là một ví dụ nữa rất thú vị, movie clip của bạn sẽ nhảy đến những vị trí bất kỳ

CODE

onClipEvent(enterFrame) {


   this._x = Math.random()*550;
   this._y = Math.random()*400;
}

Luyện tập: Tạo một chương trình máy tính đơn giản

Hãy bắt tay vào việc thiết kế một chương trình máy tính đơn giản nhé.


- Mở một movie mới trong Flash. Movie của chúng ta sẽ giống như hình dưới đây
Chúng ta sẽ có 10 nút để nhập 10 số từ 0 đến 9, các nút các phép toán, phím =, dấu chấm thập phân, phím C để xóa màn hình. Một text field đặt ở trên để hiển thị những số người dùng bấm, text field này sẽ liên kết với biến display.
- Trong mỗi movie clip của mỗi nút bấm, chèn đoạn code sau

CODE

on (release) {


   _parent.keyPressed(this._name);
}
Khi một nút bất kỳ được nhấn thì hàm keyPressed sẽ được gọi ở level ngoài mà ở đây sẽ là level root. Hàm này sẽ truyền tên của movie clip.
- Quay trở lại level root, mỗi movie clip phải có một tên riêng, không được trùng. Đặt tên của movie clip theo số của nó, ví dụ nút số 5 sẽ có tên là 5, dấu chấm thập phân có tên là “.”. Dấu cộng, dấu trừ, dấu nhân, dấu chia, dấu bằng, nút C lần lượt đặt tên là plus, minus, multiply, divide, equals, clear.
- Ok, bây giờ bắt đầu viết code nhé! Code này sẽ nằm ở ngoài movie frame

CODE

// trước tiên, xoá màn hình cũ


clearAll();

function clearAll() {


   display = "0"; // giá trị mặc định là 0
   memory = 0; // bộ nhớ
   operation = "none"; // chưa có phép toán nào cả
   newNum = true; // đánh dấu khi nào đã nhập xong một số
}

Biến display là một chuỗi (string), sẽ liên kết với text field hiển thị nội dung người dùng bấm. Nó sẽ bắt đầu với giá trị bằng 0, có nghĩa là khi người dùng mới bật máy lên thì sẽ mặc định là số 0


Biến memory lưu lại con số trước đó để thực hiện phép tính. Điều này rất cần thiết, ví dụ bạn bấm số 5, +, 7 thì số 5 nhập vào, khi bạn bấm dấu cộng, màn hình sẽ được xóa và số 5 được lưu vào memory, số 7 được nhập tiếp và sẽ thực hiện phép tính 5 và 7.
Phép toán người dùng chọn cũng cần được lưu vào bộ nhớ. Khi người dùng đã nhấn 5, +, 7 rồi, sau đó bấm dấu = hoặc một phép toán khác thì chương trình sẽ gọi lại phép toán cũ đã đựơc lưu trong biến operation để thực hiện phép toán trước của 5 với 7.
Biến newNum như là một biến cờ hiệu để báo cho chương trình biết khi nào sẽ kết thúc một phép toán. Ví dụ khi người dùng bấm 5, +, 7 rồi sau đó bấm một phép toán khác thì kết quả sẽ được lưu lại để tính toán tiếp, lúc này phép toán chưa kết thúc, newNum = false. Còn nếu người dùng bấm dấu = thì màn hình sẽ hiện ra kết quả và kết thúc luôn phép toán để chuyển sang phép toán mới, newNum = true.
- Phần tiếp theo là hàm keyPressed để xử lý khi mỗi nút được nhấn. Hàm keyPressed sẽ sử dụng cấu trúc switch thay cho cấu trúc if, then, else. Cả hai cách đều hoạt động tương tự nhưng cách viết hơi khác, bạn hãy xem nhé:

CODE

// hàm này được gọi bởi nút nhấn


function keyPressed(keyName) {

   // do something different for different keys


   switch (keyName) {
   case "clear" : // khi nhấn nút C
       clearAll();
       break;
   case "plus" : // các phép toán cộng, trừ, nhân, chia
       operate(keyName);
       break;
   case "minus" :
       operate(keyName);
       break;
   case "multiply" :
       operate(keyName);
       break;
   case "divide" :
       operate(keyName);
       break;
   case "equals" :
       operate(keyName);
       break;

   default : // các số


       if (newNum) { // hiển thị số mới trên màn hình
           display = keyName;
           newNum = false;
           if (display == "0") newNum = true; // số không bắt đầu với số 0
       } else {
           display += keyName; // nối thêm số vào màn hình
       }
       break;
   }
}

Khi người dùng nhấn nút C thì hàm clearAll() sẽ được gọi, tương tự khi người dùng nhấn các phép toán thì hàm operate sẽ đựơc gọi


- Hàm operate sẽ thực hiện tính toán. Nó sẽ tìm ra phép toán ở giữa con số trướcđó và con số hiện thời, sử dụng hàm parseFloat để chuyển chuỗi thành số.Operation có giá trị bằng none khi nhập một số mới sau khi thực hiện xong phép toán và màn hình được xóa.

CODE

// thực hiện phép toán trước


function operate(keyName) {
   switch (operation) {
   case "none" : // số đầu tiên
       memory = parseFloat(display); // lưu lại số trước
       break;

   case "plus" : // thực hiện phép toán


       memory += parseFloat(display);
       break;
   case "minus" :
       memory -= parseFloat(display);
       break;
  case "multiply" :
       memory *= parseFloat(display);
       break;
   case "divide" :
       memory /= parseFloat(display);
       break;
   }

   // equals operation is like a clear, but results are displayed


   if (keyName == "equals") {
       operation = "none";
   }  else {
       operation = keyName; // remember this operation for next time
   }

   display = memory.toString(); // display result


   newNum = true; // prepare for next number
}

Luyện tập: Làm những hành tinh bay quanh quỹ đạo

Trong ví dụ về lượng giác trong phần trước, bạn đã biết cách làm một movie clip quanh quay một vòng tròn. Bây giờ hãy áp dụng những kiến thức đó để làm một movie 4 hành tinh xoay quang mặt trời, hành tinh thứ 3 sẽ có một vệ tinh.


- Tạo một movie mới trong Flash
Tạo 6 movie clip là các vòng tròn, đặt tên lần lượt là sun, mercury, venus, earth, mars, and moon, và đặt instance name của chúng giống vậy luôn. Hãy làm cho kích thước của chúng ta khác nhau một chút nhé!
- Đặt movie clip sun (mặt trời) vào giữa màn hình. Các hành tinh khác sẽ quay quanh mặt trời. Vị trí của các movie clip các hành tinh khác không quan trọng, vì chúng ta sẽ điều khiển vị trí của chúng bằng Action Script
- Đặt đoạn code sau vào movie clip mercurcy:

CODE

onClipEvent(load) {


   speed = .4;
   radius = 40;
   orbit = 0;
}

onClipEvent(enterFrame) {


   orbit += speed;
   this._x = Math.cos(orbit) * radius + _root.sun._x;
   this._y = Math.sin(orbit) * radius + _root.sun._y;
}

Trong event load sẽ thiết lập tốc độ quay của hành tinh, khoảng cách giữa hành tinh với mặt trời. Biến speed điều khiển tốc độ quay của hành tinh, có nghĩa là số vòng quay trong một frame. Nếu speed = 6.28 thì hành tinh sẽ quay được một vòng trong đúng một frame, và nếu speed = .4 như trong đoạn code sau thì hành tinh sẽ quay một vòng quỹ đạo mất 15.7 frame (6.28/.4).


Trong mỗi lần event enterFrame xảy ra thì orbit (quỹ đạo) sẽ được cộng thêm với speed hiện thời, và hành tinh di chuyển đến vị trí mới. Toạ độ x, y của các hành tinh sẽ được hiệu chỉnh theo vị trí của mặt trời, vì vậy tâm quỹ đạo của các hành tinh chính là mặt trời.
- Chạy thử movie. Lúc này, các hành tinh vẫn đứng yên, chỉ có mercurcy là di chuyển. Nếu quỹ đạo bị nghiêng thì bạn phải xem lại xem mặt trời có nằm đúng ở giữa quỹ đạo hay không.
- Đặt đoạn code tương tự vào các movie clip venus, earth, and mars movie clips, nhưng mà bạn hãy thay đổi giá trị của hai biến speed và radius để làm cho hành tinh xa hoặc gần mặt trời hơn. Gợi ý cho các bạn nhé, speed của các hành tinh mercury, venus, earth, and mars là .4, .2, .1, và .05, radius cho các hành tinh là 40, 90, 150, và 210.
- Chạy thử lại movie. Bây giờ thì cả bốn hành tinh đã chuyển động, chỉ còn moon là chưa chuyển động vì chưa được viết code điều khiển.
- Bây giờ hãy viết code cho moon, moon sẽ có speed nhanh hơn và radius nhỏ hơn, và moon sẽ quay quanh earth thay vì quay quanh sun

CODE

onClipEvent(load) {


   speed = .5;
   radius = 15;
   orbit = 0;
}

onClipEvent(enterFrame) {


   orbit += speed;
   this._x = Math.cos(orbit) * radius + _root.earth._x;
   this._y = Math.sin(orbit) * radius + _root.earth._y;
}

- Bây giờ hãy chạy thử movie của bạn một lần nữa. Bây giờ tất cả các hành tinh đều đã quay rồi, nhưng còn một vấn đề. Earth không chính xác nằm giữa quỹ đạo của moon, vì sao thế? Bởi vì moon sẽ quay trước earth, vì moon nằm ở một layer trên layer của earth. Chúng ta cần phải làm cho earth quay trước rồi mới đến moon. Để làm như vậy, chọn movie clip moon, rồi chọn Modify -> Arrange -> Send to Back.



Luyện tập: Làm tuyết rơi

Đây là một ví dụ rất hữu ích cho việc tạo số ngẫu nhiên. Bạn có thể không cần phải dùng Action Script nhưng lúc đó bạn phải làm hàng trăm movie clip bông tuyết, mỗi cái chuyển động theo một đường.


Bằng cách sử dụng Action Script và số ngẫu nhiên, bạn có thể làm cho các bông tuyết rơi với tốc độ và hướng rơi ngẫu nhiên. Bắt tay vào làm nhé!
- Tạo một movie mới trong Flash
- Tạo một movie clip mới, đặt tên là Snowflake và đặt tên instance của nó là snowflake
- Đặt đoạn code sau vào movie clip Snowflake. Đoạn code này sẽ khởi tạo những giá trị ban đầu như vị trí của các bông tuyết, tốc độ rơi, tốc độ bị thổi ngang, độ xoay của bông tuyết.

CODE

onClipEvent(load) {


   this._x = Math.random()*550; // 0 to 550
   this._y = Math.random()*400; // 0 to 400
   speed = Math.random()*3+3; // 3 to 6
   drift = Math.random()*2-1; // -1 to 1
   rotate = Math.random()*6-3; // -3 to 3
}

onClipEvent(enterFrame) {


   this._y += speed;
   this._x += drift;
   this._rotation += rotate;

   // đưa những bông tuyết lên đầu


   if (this._y > 400) this._y = 0;

   // kiểm tra hai biên


   if (this._x < 0) this._x = 550;
   if (this._x > 550) this._x = 0;
}

Khi event enterFrame xảy ra thì bông tuyết sẽ được điều khiển rơi xuống bởi speed và bị dạt theo hướng ngang bởi drift. Bông tuyết cũng sẽ bị xoay theo giá trị của rotate. Tiếp theo là sẽ kiểm tra xem nếu bông tuyết đã rơi xuống đất rồi thì sẽ cho nó rơi lại, nếu bông tuyết bị dạt qua bên phải thì nó sẽ được đưa quay lại về bên trái…


- Chạy thử movie của bạn. Các bông tuyết sẽ rơi tự do. Hãy click vào cuối movie xem sao, những bông tuyết ở dưới sẽ được rơi lại.
- Đựơc rồi, bây giờ hãy làm cho bông tuyết nhiều nhiều một tí bằng đoạn code sau, đặt vào timeline chính nhé!

CODE

// tạo 50 bông tuyết


for(var i=0;i<50;i++) {
   snowflake.duplicateMovieClip("snowflake"+i,i);
}

Hàm duplicateMovieClip hoạt động cũng giống như hàm attachMovie để đưa movie clip vào trong lúc đang chạy. Điểm khác biệt là hàm duplicateMovieClip sẽ chèn từ một Movie clip có sẵn, sử dụng lại tất cả hình ảnh và code, nhưng bạn phải chắc chắn rằng mỗi movie clip phải có một tên riêng và một level riêng




--------------------

Thang Tran
------------------
.NET Developer
Xtreme Biz
www.xtremebiz.biz
Giờ thứ 12: Đối tượng và Mảng, Objects and Arrays
Cho đến bây giờ, mỗi biến đều chứa dữ liệu riêng lẻ, mỗi biến chứa một dữ liệu. Đối với những chương trình nhỏ và đơn giản thì không có gì để nói, nhưng đến khi bạn cần sử dụng thật nhiều biến. Cũng có những lúc bạn gặp khó khăn khi nhận ra rằng bạn cần lưu rất rất nhiều dữ liệu, những biến bình thường muốn làm thì không phải dễ.
ActionScript cung cấp cho ta hai thứ để lưu những loại nhiều dữ liệu. Một là Custom Object (Đối tượng), với Custom Object bạn có thể nhóm những dữ liệu riêng lẻ lại với nhau. Cách khác là Array (Mảng), một trong những phần cơ bản của các ngôn ngữ lập trình cao cấp.
Trong giờ thứ 12 này, chúng ta sẽ học:
- Cách tạo Custom Object
- Cách sử dụng những đối tượng ActionScript được dựng sẵn
- Tìm hiểu về Array (Mảng)
- Làm chữ chuyển động
- Tạo những vật thể chạy theo con trỏ chuột trên màn hình

Tạo Custom Object

Chắc hẳn các bạn đã quen thuộc với những tên như x và y để điều khiển vị trí trên movie clip. Có bao giờ bạn cảm thấy nhàm chán với những chữ x, y hay muốn thay thế nó bằng những chữ khác như positionX, positionY hay bất cứ gì bạn thích không? Việc đó quá đơn giản, chỉ cần tạo biến của bạn rồi gán giá trị cho biến của bạn thôi . Nhưng dù sao thì đó cũng chỉ là những biến riêng lẻ thôi, chỉ với một cái tên khác .


Trong phần này, chúng tôi không muốn chỉ cho các bạn làm những điều như vậy mà sẽ nói về cách tạo một custom variable Object. Ví dụ, bạn có thể lưu biến x, y như sau:

CODE

pos = {x:10, y:20};

Bằng cách sử dụng hai dấu ngoặc nhọn, bạn đã tạo ra một object. Bạn có thể truy cập dữ liệu bằng cách:

CODE

trace(pos.x);

Bạn có thể sử dụng nó như bất cứ những biến nào khác.
Hãy tưởng tượng đến một cấu trúc phức tạp hơn nhiều như một record trong một cơ sở dữ liệu. Ví dụ như ta có một custom object tên record, và trong nó sẽ có những property như là name, address, phone…
Bạn có thể tạo object từng bước một, tạo thêm property. Xem ví dụ này nhé:

CODE

record = new Object();


record.name = "Gary";
record.age = 32;
record.state = "Colorado";
trace(record.name);

Cũng với mục đích làm cho dữ liệu dễ tổ chức hơn, custom object cũng giống như những đối tượng dựng sẵn. Hai ví dụ về những đối tượng dựng sẵn là Color và đối tượng Date.



Đối tượng Color

Có thể dùng ActionScript để đổi màu của một movie clip bằng cách sử dụng câu lệnh setRGB. Đó là cách dễ nhất nhưng nó sẽ không thực hiện được đối với instance của movie clip. Thay vào đó, chúng ta sẽ chuyển đến đối tượng Color của movie clip. Thực hiện cách đó bằng hàm new Color(), sau đó thì có thể sử dụng câu lệnh setRGB để thay đổi màu.


Dưới đây là một ví dụ, sử dụng setRGB từ đối tượng Color của movie clip để đặt lại màu cho movie clip sang màu 0xFF0000 (màu đỏ)

CODE

circleColor = new Color("circle");


circleColor.setRGB(0xFF0000);

Chúng ta cũng có thể lấy màu của một movie clip. Sử dụng hàm getRGB() để lấy màu của movie, nhưng nhớ sử dụng hàm toString(16) để chuyển thành giá trị hexa.



CODE

circleColor = new Color("circle");


trace(circleColor.getRGB(0xFF0000).toString(16));

Một cách khác để đặt màu cho movie clip bằng cách tạo một đối tượng color transform ứng với 8 mục như trong hình dưới đây



Đầu tiên, tạo một đối tượng custom variable. Rồi tạo các property ra, ga, ba, aa, rb, gb, bb, ab. Các ký tự đầu tiên r, g, b, a là đại diện cho từ red, green, blue và alpha. Còn ký tự thứ hai a và b là đại diện cho 2 cột bên trái và bên phải
Thay vì sử dụng setRGB thì chúng ta sẽ sử dụng setTransform như trong ví dụ dưới đây:

CODE

circleColor = new Color("circle");


myObject = new Object();
myObject = {ra:100, rb:255, ga:0, gb:0, ba:0, bb: 0, aa: 100, ab: 0};
circleColor.setTransform(myObject);

Đối tượng Date

Một đối tượng dựng sẵn khác là đối tượng Date. Đối tượng này cũng có thể được xem như là một biến bình thường, nó đại diện cho một thời điểm của thời gian.


Đối tượng Date được chia ra 7 phần: năm (year), tháng (month), ngày (date), giờ (hour), phút (minute), giây (second) và phần trăm giây (milisecond). Bạn có thể tạo một đối tượng Date mới bằng cách cung cấp cho nó 7 thông tin trên

CODE

myDate = new Date(2002,3,29,10,30,15,500);

Hãy thử sử dụng câu lệnh trace để kiểm tra nội dung của myDate xem nào. Có phải bạn nhận được kết quả này không?

CODE

Mon Apr 29 10:30:15 GMT

Rất dễ hiểu, đúng không nào? Nhưng mà còn một vấn đề: tháng là Apr trong khi chúng ta truyền tham số vào cho tháng là 3, vậy phải là March chứ!?
Đối tượng Date của Flash cũng hoạt động tương tự như đối tượng Date của các ngôn ngữ lập trình khác. Tháng được quy định từ 0 đến 11, rất đặc biệt, bởi ngày thì được quy định từ 1 đến 31 . Nhưng dù sao thì bạn cũng phải làm quen đi
Bạn cũng có thể lấy những thành phần từ đối tượng Date. Ví dụ dưới đây sẽ lấy năm.

CODE

myDate.getYear()


Bạn có thể lấy giờ hiện tại bằng cách đơn giản là tạo một đối tượng Date rỗng . Giờ hiện tại sẽ được đưa vào đối tượng. Ví dụ:

CODE

myDate = new Date();


trace(myDate);

Chú ý: Flash sẽ lấy giờ của đồng hồ hệ thống trong máy bạn. Vì thế đồng hồ trong máy tính của bạn chạy sai thì giờ lấy ra sẽ sai



Mảng (Array)

Mảng là một phần rất quan trọng trong lập trình. Bạn sẽ gặp mảng trong hầu hết các ngôn ngữ lập trình bởi vì nó là một công cụ rất cần thiết cho những ngôn ngữ lập trình phức tạp.

Mảng (Array) là một dãy dữ liệu. Trong đó thì các dữ liệu sẽ có cùng một kiểu dữ liệu với nhau, như là cùng là tên của movie clip hoặc đều cùng là vị trí của movie clip

Tạo mảng

Dưới đây là một ví dụ về một mảng. Sử dụng dấu ngoặc vuông và những dấu phẩy để tạo mảng:



CODE

myArray = [36,23,63,71,25];

Mảng myArray có chứa 5 phần tử là số nguyên. Muốn lấy giá trị của một phần tử trong mảng thì sử dụng như sau:

CODE

trace(myArray[0]);


Phần tử đầu tiên trong mảng luôn luôn được đánh số 0. Vì vậy, như ví dụ trên có 5 phần tử thì phần tử thứ 0 chứa giá trị 36 và phần tử thứ 4 mang giá trị 25.


Một cách khác để tạo mảng là sử dụng new Array()


tải về 0.7 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương