Tư vấn Dịch vụ 0984.485.266
Tài khoản
alt

Không có sản phẩm nào trong giỏ hàng của bạn

Tạo Hotspot cho đối tượng GDL (Phần 01)


Tiếp theo phần trước
Việc gán thêm một điểm Hotspot để chúng ta có thể chỉnh sửa kích thước, góc quay...trong khung nhìn mà không cần phải bật bảng Parameter đôi khi là rất cần thiết. Bài sau đây sẽ giúp chúng ta cách tạo các điểm như thế cho đối tượng của mình.
Tham khảo về Hotspot: https://www.graphisoft.com/ftp/gdl/manual/16/002.009.html


3.1.Tạo điểm Hotspot trong mặt bằng 2D
chúng ta dùng câu lệnh sau:
Cho 3D (Điểm Hospot sẽ hiển thị trên khung nhìn 3D):
HOTSPOT x, y, z [, unID [, paramReference, cờ] [, displayParam]]
Cho 2D (điểm Hotspot sẽ hiển thị trên khung nhìn 2D):
HOTSPOT2 x, y [, unID [, paramReference, flags] [, displayParam]]
trong đó:
*UnID là tham số định danh- Chúng xác định tên của điểm Hotspot, tên này phải là duy nhất
*paramReference: Tham số sẽ chịu sự điều khiển của điểm Hospot
*Flags: cờ, bao gồm: hotspot’s type + hotspot’s attribute
type: 
1: chỉnh sửa chiều dài
2: chỉnh sửa chiều dài, điểm Hotspot di chuyển,
3: chỉnh sửa độ dài, điểm Hotspot tham chiếu (luôn ẩn),
4: chỉnh sửa góc, điểm Hotspot cơ sở,
5: chỉnh sửa góc, điểm Hotspot di chuyển,
6: chỉnh sửa kiểu góc, tâm góc (luôn ẩn),
7: chỉnh sửa góc, điểm Hotspot tham chiếu (luôn ẩn).
attribute: Có thể bằng không hoặc:
attribute = 128*j8 + 256*j9 + 512*j10, trong đó mỗi j có thể là 0 hoặc 1.
j8: ẩn điểm phát sóng (có ý nghĩa với các loại: 1,2,4,5),
j9: điểm phát sóng cơ bản có thể chỉnh sửa (đối với các loại: 1,4),
j10: đảo ngược góc trong 2D (đối với loại 6).
3.2.Từ các kiến thức trên, ta có đoạn mã trong 2D Scripts như sau
 (nó sẽ quy định sự xuất hiện của điểm Hotspot trong mặt bằng):

! --- Hotspots ----------
unID=1
unID=unID+1
HOTSPOT2 0, 0, unID, KhoiChuNha_A, 1+128, KhoiChuNha_A            : unID=unID+1
HOTSPOT2 -1, 0, unID, KhoiChuNha_A, 3+128, KhoiChuNha_A           : unID=unID+1
HOTSPOT2 KhoiChuNha_A, 0, unID, KhoiChuNha_A, 2, KhoiChuNha_A  : unID=unID+1
! ------End-------------
Giải Thích:

Với điểm Hotspot là unID =1, và điểm tham chiếu là unID=unID+1
ta có:
HOTSPOT2 0, 0, unID, KhoiChuNha_A, 1+128, KhoiChuNha_A            : unID=unID+1
Hotspot2 tại vị trí x=0, y=0
điểm Hotspot unID sẽ điều khiển tham số KhoiChuNha_A
với kiểu: 1- Chỉnh sửa độ dài và Attribute 128
KhoiChuNha_A  sẽ di chuyển từ điểm unID đến unID+1
HOTSPOT2 -1, 0, unID, KhoiChuNha_A, 3+128, KhoiChuNha_A           : unID=unID+1
Hotspot2 tại vị trí x=-1, y=0
điểm Hotspot unID sẽ điều khiển tham số KhoiChuNha_A
với kiểu: 3- Chỉnh sửa độ dài so với điểm Hotspot tham chiếu và Attribute 128
KhoiChuNha_A  sẽ di chuyển từ điểm unID đến unID+1
HOTSPOT2 KhoiChuNha_A, 0, unID, KhoiChuNha_A, 2, KhoiChuNha_A  : unID=unID+1
Hotspot2 tại vị trí x=KhoiChuNha_A, y=0
điểm Hotspot unID sẽ điều khiển tham số KhoiChuNha_A
với kiểu: 2- Chỉnh sửa độ dài so với điểm Hotspot nằm tại vị trí ở bên trên (Hotspot2 tại vị trí x=KhoiChuNha_A, y=0) và Attribute 128
KhoiChuNha_A  sẽ di chuyển từ điểm unID đến unID+1
3.3.Tương tự, Hotspot trong 3D sẽ như sau:

! --- Hotspots ----------
unID=1
unID=unID+1
HOTSPOT 0, 0,0, unID, KhoiChuNha_A, 1+128, KhoiChuNha_A            : unID=unID+1
HOTSPOT -1, 0,0, unID, KhoiChuNha_A, 3+128, KhoiChuNha_A           : unID=unID+1
HOTSPOT KhoiChuNha_A, 0,0, unID, KhoiChuNha_A, 2, KhoiChuNha_A  : unID=unID+1
! ------End-------------
3.4.Ta có kết quả:
trên mặt bằng 2D:
trên phối cảnh 3D:
(Bài tiếp theo: Tạo Hotspot trên 3D)