UIDragDetector
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Ví dụ UIDragDetector instance thúc đẩy và khuyến khích tương tác với các thành phần giao diện người dùng 2D trong một trải nghiệm, chẳng hạn như các thanh trượt và bánh xe.Các tính năng chính bao gồm:
Đặt một UIDragDetector dưới bất kỳ GuiObject ví dụ để làm cho nó có thể kéo qua tất cả các đầu vào mà không có một dòng mã nào.
Chọn từ một số lựa chọn DragStyle , xác định cách đối tượng phản ứng với chuyển động thông qua ResponseStyle , và có thể áp dụng trục, giới hạn di chuyển hoặc giới hạn kéo.
Các kịch bản có thể đáp lại sự thao tác của các đối tượng bị kéo để lái đáp ứng logic, chẳng hạn như điều chỉnh cài đặt.
làm việc trong Studio miễn là bạn không không sử dụng công cụ Chọn , Di chuyển , Thước đo hoặc Xoay công cụ, hoặc không có một số plugin hoặc công cụ chỉnh sửa UI của Studio.
Tóm Tắt
Thuộc Tính
Đặt biểu tượng con trỏ để hiển thị khi chuột được kích hoạt trên cha của đối tượng này UIDragDetector .
Xác định hành vi giới hạn của đối tượng UI bị cài đặtkhi đã đặt BoundingUI của bộ cảm biến.
Ví dụ có khu vực giới hạn định nghĩa ranh giới kéo cho cha GuiObject .
Đặt biểu tượng con trỏ để hiển thị khi chuột được giữ trên cha của đối tượng này UIDragDetector .
Trục kéo cho ví dụ UIDragDetector khi DragStyle được đặt thành Enum.UIDragDetectorDragStyle.TranslateLine .
Đặt nền tảng xác định tính tương đối của các đầu vào/đầu ra từ một chức năng kéo tùy chỉnh.
Sự xoay được thực hiện bởi cuộn hiện tại.
Đặt nền tảng xác định không gian của các đầu vào/đầu ra từ một chức năng kéo tùy chỉnh.
Những nguyên tắc được sử dụng để tạo ra chuyển động đề xuất.
Bản dịch được thực hiện bởi cuộn hiện tại được biểu hiện trong một giá trị UDim2 .
Whether the UIDragDetector đáp ứng với nhập của người dùng.
Cùng với MinDragAngle, ngăn chặn các nỗ lực của cảm biến để tạo ra chuyển động quay.
Cùng với MinDragTranslation, ngăn chặn các nỗ lực của cảm biến để tạo ra chuyển động dọc/bằng phẳng.
Cùng với MaxDragAngle, ngăn chặn các nỗ lực của cảm biến để tạo ra chuyển động quay.
Cùng với MaxDragTranslation, ngăn chặn các nỗ lực của cảm biến để tạo ra chuyển động dọc/bằng phẳng.
Một ví dụ GuiObject mà không gian địa phương và vị trí trung tâm tuyệt đối là không gian tham chiếu và nguồn gốc cho cảm biến.
Phương pháp được sử dụng để xác định phản ứng đối với đề xuất chuyển động.
Tốc độ kéo tối đa cho bản dịch.
Góc tối đa mỗi giây mà UIDragDetector có thể xoay tại.
Enum.UIDragSpeedAxisMapping giá trị xác định tốc độ kéo chiều X / Y .
Phương Pháp
Thêm một chức năng để thay đổi hoặc hạn chế chuyển động đề xuất.
Trả vị trí tham chiếu UDim2 của nguồn tham chiếu hiện tại của lượt kéo.
Trả về sự xoay tham chiếu của thành phần tham chiếu của kéo hiện tại.
Chuyển một chức năng để sử dụng nếu và chỉ nếu DragStyle được đặt thành Enum.UIDragDetectorDragStyle.Scriptable .
Sự Kiện
Bắt lửa khi người dùng tiếp tục kéo thành phần UI sau khi DragStart đã được khởi động.
Bắt lửa khi một người dùng ngừng kéo thành phần UI.
Bắt lửa khi một người dùng bắt đầu kéo thành phần UI.
Thuộc Tính
ActivatedCursorIcon
Đặt biểu tượng con trỏ để hiển thị khi chuột được kích hoạt trên cha của đối tượng này UIDragDetector .Nếu thuộc tính này được để trống, máy dò sẽ sử dụng biểu tượng mặc định.
Để thay đổi biểu tượng con trỏ đã kích hoạt, hãy đặt thuộc tính này vào ID tài sản của hình ảnh bạn muốn sử dụng.
BoundingBehavior
Xác định hành vi liên kết của đối tượng UI bị kéo khi đã đặt BoundingUI của bộ cảm biến. Xem Enum.UIDragDetectorBoundingBehavior để có chi tiết về hành vi của mỗi cài đặt.
BoundingUI
Khi được cài đặt, ví dụ UIDragDetector instance sẽ không cho phép giới hạn của cha GuiObject bị kéo ra khỏi giới hạn của ví dụ BoundingUI ví dụ / trường hợp.
Lưu ý rằng nếu một phần của cha GuiObject bên ngoài giới hạn BoundingUI , vị trí nhập ban đầu tại khởi động kéo và vị trí tương đối trong khi kéo sẽ được sử dụng để phát hiện giới hạn cho đến khi toàn bộ đối tượng bị kéo nằm trong giới hạn, sau đó đối tượng sẽ bị giới hạn bên trong giới hạn.
CursorIcon
Đặt biểu tượng con trỏ để hiển thị khi chuột được giữ trên cha của đối tượng này UIDragDetector .Nếu thuộc tính này được để trống, máy dò sẽ sử dụng biểu tượng mặc định.
Để thay đổi biểu tượng con trỏ, hãy đặt thuộc tính này thành ID tài sản của hình ảnh bạn muốn sử dụng.
DragAxis
Vector2 giá trị xác định trục di chuyển cho đối tượng bị kéo khi DragStyle được đặt thành Enum.UIDragDetectorDragStyle.TranslateLine .Trục được định nghĩa trong không gian lokal của UIDragDetector trừ khi ReferenceUIInstance được định nghĩa, trong đó trục được định nghĩa trong không gian lokal của ví ví dụ / trường hợpđó.
DragRelativity
Chỉ áp dụng nếu một chức năng kéo tùy chỉnh được đăng ký thông qua SetDragStyleFunction() hoặc AddConstraintFunction() .Đặt nền tảng xác định tính tương đối của các đầu vào/đầu ra của chức năng đã đăng ký.
ví dụ, trả về một từ chức năng đã đăng ký với thuộc tính này được đặt thành với sự phát hiện của người dùng sẽ di chuyển đến trong định nghĩa , trong khi trả lại cùng một với thuộc tính này được đặt thành sẽ di chuyển đến trong định nghĩa .
DragRotation
Sự xoay được thực hiện bởi cuộn hiện tại.Giá trị này được định nghĩa bằng độ so với không gian lokal của UIDragDetector nếu không có ReferenceUIInstance được định nghĩa, trong đó việc xoay được định nghĩa trong không gian lokal của ví dụ đó và từ trục tích cực X của nó.
Tính chất này có thể được thay đổi trong khi không có cuộc kéo hoạt động để xoay đối tượng bị kéo.
DragSpace
Chỉ áp dụng nếu một chức năng kéo tùy chỉnh được đăng ký thông qua SetDragStyleFunction() hoặc AddConstraintFunction() .Đặt nền tảng xác định không gian của các đầu vào/đầu ra của chức năng đã đăng ký.
Ví dụ, nếu cha của cảm biến là GuiObject con của một cha GuiObject đã xoay:
Trả về một từ một chức năng đã đăng ký với thuộc tính này được đặt thành sẽ di chuyển phụ thân của máy dò sang bên phải bằng 1 pixel trong không gian địa phương bị ảnh hưởng bởi sự xoay của cha của nó.
Trả về một từ một chức năng đã đăng ký với thuộc tính này được đặt thành sẽ di chuyển phụ của máy dò sang bên phải bằng 1 pixel trong không gian của .
DragStyle
Phương pháp được sử dụng để tạo chuyển động đề xuất, dựa trên một dòng vector vị trí nhập. Xem Enum.UIDragDetectorDragStyle đối với các tùy chọn.
DragUDim2
Bản dịch được thực hiện bởi cuộn hiện tại được biểu hiện trong một giá trị UDim2 .Bản dịch được thực hiện thông qua Offset hoặc Scale giá trị thay đổi tùy thuộc vào giá trị DragRelativity và nó là tương đối với không gian lokal của máy dò trừ khi có ReferenceUIInstance được định nghĩa.
Tính chất này có thể được thay đổi trong khi không có cuộc kéo chủ động để di chuyển đối tượng bị kéo.
Enabled
Nếu true , UIDragDetector trả lời lượt nhập của người dùng; nếu false , nó không làm như vậy.
MaxDragAngle
Nếu thuộc tính này lớn hơn MinDragAngle , quay sẽ bị giới hạn trong phạm vi MinDragAngle và MaxDragAngle .Các giá trị dương ngăn chặn sự xoay theo chiều kim đồng hồ trong khi các giá trị âm ngăn chặn sự xoay theo chiều ngược lại.
Đây không phải là một hạn chế; nó chỉ cản trở các nỗ lực của cảm biến để tạo ra chuyển động nhằm để ở trong giới hạn.Xem AddConstraintFunction() để thêm hạn chế tùy chỉnh cho một lần kéo.
Chỉ liên quan nếu DragStyle là Enum.UIDragDetectorDragStyle.Rotate.
MaxDragTranslation
Nếu các giá trị tương ứng Offset và/hoặc Scale lớn hơn các giá trị của MinDragTranslation ở tất cả các chiều, bản dịch song song/bằng phẳng sẽ bị giới hạn trong phạm vi của MinDragTranslation và MaxDragTranslation .
Đây không phải là một hạn chế; nó chỉ cản trở các nỗ lực của cảm biến để tạo ra chuyển động nhằm để ở trong giới hạn.Xem AddConstraintFunction() để thêm hạn chế tùy chỉnh cho một lần kéo.
Chỉ liên quan nếu DragStyle là Enum.UIDragDetectorDragStyle.TranslateLine hoặc Enum.UIDragDetectorDragStyle.TranslatePlane .
MinDragAngle
Nếu thuộc tính này nhỏ hơn MaxDragAngle , việc xoay sẽ bị giới hạn trong phạm vi MinDragAngle và MaxDragAngle .Các giá trị dương ngăn chặn sự xoay theo chiều kim đồng hồ trong khi các giá trị âm ngăn chặn sự xoay theo chiều ngược lại.
Đây không phải là một hạn chế; nó chỉ cản trở các nỗ lực của cảm biến để tạo ra chuyển động nhằm để ở trong giới hạn.Xem AddConstraintFunction() để thêm hạn chế tùy chỉnh cho một lần kéo.
Chỉ liên quan nếu DragStyle là Enum.UIDragDetectorDragStyle.Rotate.
MinDragTranslation
Nếu các giá trị tương ứng Offset và/hoặc Scale lớn hơn các giá trị của MaxDragTranslation ở tất cả các chiều, bản dịch song song/bằng phẳng sẽ bị giới hạn trong phạm vi của MinDragTranslation và MaxDragTranslation .
Đây không phải là một hạn chế; nó chỉ cản trở các nỗ lực của cảm biến để tạo ra chuyển động nhằm để ở trong giới hạn.Xem AddConstraintFunction() để thêm hạn chế tùy chỉnh cho một lần kéo.
Chỉ liên quan nếu DragStyle là Enum.UIDragDetectorDragStyle.TranslateLine hoặc Enum.UIDragDetectorDragStyle.TranslatePlane .
ReferenceUIInstance
Một ví dụ GuiObject mà không gian địa phương và vị trí trung tâm tuyệt đối là không gian tham chiếu và nguồn gốc cho cảm biến.Việc thiết lập tham chiếu này ảnh hưởng đến các thuộc tính như DragUDim2 , DragRotation , và hành vi của DragAxis .
ResponseStyle
Một khi động tác được đề xuất đã được tính toán và có thể bị hạn chế, phương pháp này được sử dụng để xác định cách di chuyển (hoặc không di chuyển) GuiObject bị ảnh hưởng bởi UIDragDetector .Xem Enum.UIDragDetectorResponseStyle đối với các tùy chọn.
SelectionModeDragSpeed
Xác định tốc độ kéo tối đa cho bản dịch là một kết hợp của và của tổ tiên đầu tiên hoặc thuộc về.Giá trị này phải là dương và bất kỳ giá trị nào dưới 0 sẽ bị giữ lại ở 0 .
SelectionModeRotateSpeed
Xác định góc tối đa mỗi giây mà UIDragDetector có thể xoay.Giá trị này phải là dương và bất kỳ giá trị nào dưới 0 sẽ bị giữ lại ở 0 .
Phương Pháp
AddConstraintFunction
Thêm một chức năng để thay đổi hoặc hạn chế chuyển động đề xuất.Chức năng nhận một đầu vào UDim2 (vị trí) và nổi (xoay) của đề xuất chuyển động và trả lại một UDim2 và nổi của chuyển động đã sửa đổi hoặc chưa sửa đổi chuyển động.Bạn có thể thêm nhiều chức năng sẽ được gọi theo thứ tự bởi priority , truyền kết quả theo chuỗi.
Nhập được biểu hiện trong không gian được xác định bởi thuộc tính DragSpace t delta hoặc vị trí/vòng xoay cuối cùng mong muốn dựa trên thuộc tính DragRelativity .Kết quả nên được biểu hiện trong cùng một không gian và tương đối, trừ khi bị vô hiệu hóa bằng cách trả về giá trị trả lại cụ thể Enum.UIDragDetectorDragRelativity và Enum.UIDragDetectorDragSpace như giá trị trả lại thứ ba và thứ tư.
Để loại bỏ chức năng hạn chế được thêm, gọi Disconnect() trên đối tượng kết nối trả về.
Tham Số
Thứ tự ưu tiên cho các chức năng được thêm bằng cách này. Các giá trị cao hơn có ưu tiên hơn các giá trị thấp hơn.
Chức năng để sửa đổi hoặc hạn chế chuyển động được đề xuất.Chức năng này nhận đầu vào UDim2 và nổi của đề xuất chuyển động và trả lại một UDim2 và nổi của chuyển động đã sửa đổi hoặc chưa sửa đổi chuyển động.Nó có thể tùy chọn trả về một Enum.UIDragDetectorDragRelativity và Enum.UIDragDetectorDragSpace như giá trị trả lại thứ ba và thứ tư như một lỗi thay thế đầu ra
Lợi Nhuận
Sử dụng đối tượng kết nối này để loại bỏ chức năng hạn chế.
GetReferencePosition
Khi không có ReferenceUIInstance được cài đặt, chức năng này trả vị trí UDim2 của cha ngay lập tức của đối tượng bị kéo GuiObject (nếu có), hoặc vị trí UDim2 của đối tượng bị kéo.
Khi một ReferenceUIInstance được cài đặt, chức năng này trả vị trí UDim2 của đối ví dụ / trường hợptham chiếu đó.
Lợi Nhuận
GetReferenceRotation
Khi không có ReferenceUIInstance được cài đặt, chức năng này trả về sự xoay của cha ngay lập tức của đối tượng bị kéo GuiObject (nếu có), hoặc sự xoay của đối tượng bị kéo.
Khi một ReferenceUIInstance được cài đặt, chức năng này trả về sự xoay của ví ví dụ / trường hợptham chiếu đó.
Lợi Nhuận
Vòng xoay của thành phần tham chiếu của kéo hiện tại.
SetDragStyleFunction
Chuyển một chức năng để sử dụng nếu và chỉ nếu DragStyle được đặt thành Enum.UIDragDetectorDragStyle.Scriptable .Chức năng được cung cấp nhận vị trí đầu vào không gian màn hình của tín hiệu với loại Vector2 , và nó trả về một UDim2 (vị trí) và nổi (xoay) chứa chuyển động mong muốn của cuộn.Không gian của các giá trị trả về và tương đối của chuyển động được xác định bởi các thuộc tính DragSpace và DragRelativity, trừ khi bị thay thế bằng cách trả về một giá trị Enum.UIDragDetectorDragRelativity và Enum.UIDragDetectorDragSpace cụ thể là giá trị trả về thứ ba và thứ tư.
Nếu chức năng trả về nil, đối tượng sẽ không được di chuyển.Điều này hữu ích nếu kịch bản chưa thu thập được tất cả thông tin cần thiết để đưa ra câu trả lời chính xác, hoặc trong các trường hợp tạm thời mà bạn muốn đối tượng ở lại nơi nó ở.
Tham Số
Chức năng để theo dõi các tín hiệu DragContinue .Chức năng này nhận được vị trí đầu vào không gian màn hình của singal và trả về một UDim2 và nổi chứa chuyển động mong muốn của cuộn trong không gian mong muốn và tương đối.Nếu chức năng này trả về nil, đối tượng sẽ không được di chuyển.
Lợi Nhuận
Sự Kiện
DragContinue
Bắt lửa khi người dùng tiếp tục kéo thành phần UI sau khi DragStart đã được khởi động.
Tham Số
DragEnd
Bắt lửa khi một người dùng ngừng kéo thành phần UI.