Các phương thức và thuộc tính của các hình thể.

Một phần của tài liệu LẬP TRÌNH VỚI ACTIONSCRIPT (Trang 96 - 101)

Trong bảng sau đ}y, chúng tôi sẽ trình b{y c|c phương thức và thuộc tính thường hay sử dụng của c|c đối tượng 3D nguyên thủy đ~ nêu. C|c phương thức và thuộc tính này có thể l{ chung cho c|c đối tượng, cũng có thể là đặc trưng cho một đối tượng n{o đó. Adobe Flex Builder sẽ tự động kiểm tra một phương thức, thuộc tính có phải là của đối tượng đang thao t|c hay không. Vì vậy, chúng tôi sẽ không đi s}u v{o điều này, mà chỉ giải thích chức năng của mỗi phương thức hoặc thuộc tính.

Thuộc tính

alpha:Number x x

Thuộc tính độ trong suốt, được phân bố từ 0..1. Giá trị alpha càng nhỏ thì độ trong suốt của vật thể càng cao.

x, y, z: Number x x

Tọa độ của vật thể trong không gian: x- ho{nh độ, y-tung độ, z-cao độ. Tọa độ này được tính theo đối tượng chứa nó.

rotationX, rotationY,

rotationZ:Number x x

Góc quay của vật thể theo các trục x, y, z tương ứng.

scale, scaleX, scaleY,

scaleZ: Number x x

Độ phóng to theo cả ba chiều (scale) và theo chiều x, y, z tương ứng với scaleX, scaleY, scaleZ.

scene:SceneObject3D x x Sử dụng như c|c phương thức và thuộc tính của đối tượng scene.

sceneX, sceneY, sceneZ: Number x

Tọa độ x, y, z của đối tượng tương ứng với hệ tọa độ cảnh quay trong thế giới thực. Position:Number3D x x

Trả về đối tượng Number3D, chứa các thông số liên quan đến tọa độ của vật thể DisplayObject3D.

visible:Boolean x x Cho phép đối tượng hiển thị hay ẩn. name:String x x Thiết lập tên cho đối tượng.

id:int x x Thiết lập id cho đối tượng. material:MaterialObjec

t3D x x

Thiết lập m{u tô cho đối tượng.

materials:MaterialList x x Thiết lập danh sách màu tô (áp dụng cho cube).

pitch(angle:Number):v oid

Quay liên tục theo trục x, mỗi lần quay một góc angle.

yaw(angle:Number):vo di

Tương tự đối với trục y. roll(angle:Number):voi

d

Tương tự với trục z. moveDown(distance:N

umber):void

Di chuyển liên tục đối tượng xuống dưới. moveUp(distance:Num

ber):void

Di chuyển liên tục đối tượng lên trên. moveBackward(distan

ce:Number):void

Di chuyển liên tục đối tượng ra sau. moveForward(distanc

e:Number):void

Di chuyển liên tục đối tượng ra phía trước. moveLeft(distance:Nu

mber):void

Di chuyển liên tục đối tượng sang trái. moveRight(distance:N

umber):void

Di chuyển liên tục đối tượng sang phải. addChild(child:Display

Object3D,

name:String):DisplayO bject3D

Bổ sung đối tượng child lên vật thể v{ đồng thời thiết lập tên cho nó là name.

addChildren(parent:Di splayObject3D):Displa yObjectContainer3D

Bổ sung tất cả c|c đối tượng con nằm trên parent lên DisplayObjectContainer3D removeChild(child:Dis

playObject3D):Display Object3D

Loại bỏ đối tượng child.

removeChildByName( name:String):DisplayO bject3D

Loại bỏ đối tượng có tên là name.

:String, listener:Function, useCapter:Boolean, priority:int, useWeakReference:Bo olean):void

xảy ra trên đối tượng.

removeEventListener( type:String,

listener:Function, useCapter:Boolean):vo id

Loại bỏ event đ~ bổ sung cho đối tượng.

Trong bảng trên, cột get và cột set tương ứng với giá trị của thuộc tính. Một thuộc tính được ấn định là get thì nó chỉ cho phép đọc, ngược lại nó được ấn định là set thì chỉ cho phép ghi. Nếu nó được ấn định get v{ set, thì nó cho phép đọc và ghi. Get và set chỉ áp dụng cho thuộc tính, không áp dụng cho phương thức.

Trên đ}y chúng tôi chỉ trình bày những phương thức và thuộc tính thường hay được sử dụng nhất. Bạn có thể tham khảo toàn bộ nội dung ở địa chỉ website papervision3d sau: http://www.papervision3d.org/docs/as3/.

7.4.2. Đối tượng Material - Phối màu cho hình thể

C|c đối tượng Material nằm trong package org.papervision3d.materials. Trong package này chứa c|c đối tượng sau: BitmapAssetMaterial, BitmapFileMaterial, BitmapMaterial, ColorMaterial, MaterialsList, MovieAssetMaterial, MovieMaterial và WireframeMaterial. Ngoài ra, nó còn chứa thêm một số package kh|c như: utils, special, shaders, shadermaterials. Hai gói shaders và shadermaterials dùng để tạo hiệu ứng đổ bóng. Chúng ta sẽ tìm hiểu một vài lớp đối tượng trong số này.

a. Phối màu bằng WareframeMaterial. Đối tượng WareframeMaterial nằm trong gói org.papervision3d.materials.WareframeMaterial. trong gói org.papervision3d.materials.WareframeMaterial.

Hàm tạo của đối tượng WareframeMaterial

WareframeMaterial wm = new WareframeMaterial(color:Number, alpha:Number, thickness:Number);

 Tham số alpha quy định độ trong suốt của màu tô.

 Tham số thickness: quy định độ lớn của đường viền trong cách tô màu.

Ví dụ

scene.addChild(new Sphere(new WireframeMaterial(0x00ff00, .5, 4),400,20,20));

Hình 166– Tô màu bằng ColorMaterial

b. Phối màu bằng ColorMaterial. Đối tượng ColorMaterial nằm trong gói org.papervision3d.materials.ColorMaterial. org.papervision3d.materials.ColorMaterial.

Hàm tạo của đối tượng ColorMaterial

ColorMaterial cm = new ColorMaterial(color:Number, alpha:Number, interactive:Boolean);

Trong đó,

 Tham số color quy định màu sắc chủ đạo.

 Tham số alpha quy định độ trong suốt của màu tô.

 Tham số interactive: quy định sự tương t|c giữa các vật thể trong cùng một viewport.

Ví dụ

Hình 167– Tô màu bằng ColorMaterial

Như bạn thấy, hình thể được phối màu theo dạng thức này trông giống một hình 2D thông thường. Sở dĩ như vậy là vì chúng ta không sử dụng đến các hiệu ứng light và shader. Nếu bạn kết hợp với các hiệu ứng này, thì bạn sẽ nhận được một kết quả tốt hơn. Hiệu ứng này chỉ đơn thuần phối m{u đặc (solid color) cho đối tượng hình thể.

Một phần của tài liệu LẬP TRÌNH VỚI ACTIONSCRIPT (Trang 96 - 101)

Tải bản đầy đủ (PDF)

(118 trang)