TAILIEUCHUNG - 3d game engine programming phần 10

Nhưng ngay cả các trò chơi phức tạp chẳng hạn như Ultima Online, Diablo 2 và Star Wars Galaxies là hoàn toàn dựa trên chơi trực tuyến, và trong nhiều trường hợp, không hỗ trợ chế độ chơi đơn ở tất cả. Những trò chơi tính năng rộng lớn ảo | 770 Chapter 14 Computer-Aided Design CAD Tools requests the sector to delete the object stored at this address. When this is done you can reset the counter and the allocated memory of the selection buffer which is then empty and ready for more action. Caution Note that there is no undo function in this editor. Therefore after you have deleted something there is no way to restore it from this level file. The only way to undo the operation is to load an old version of the level if you have saved one of course . So make it a habit to save a level regularly to different files. Here is the implementation of the delete function void CSelectionBuffer DeleteSelectedObjects LPLEVEL pLevel UINT id 0 CSector pSector pLevel- GetSelectedSector for UINT i 0 i m_NumLobs i special case portal if m_ppLob i - GetType LOB_PORTAL id LPPORTAL m_ppLob i - GetID pLevel- RemovePortalConnections id pSector- RemoveObject m_ppLob i m_NumVerts 0 m_NumLobs 0 Reset DeleteSelectedObjects Besides the true deletion process of the selected objects there is yet another way to delete objects. For this we need a function that deletes the content of the selection buffer without deleting the objects that are selected and without notifying the selected objects that they are no longer selected. Such a function is needed for example when the level designer clicks the button to invert the selection. Then you clear the selection buffer without notifying the selected objects. After that you loop through the whole active sector and just invert the flags indicating the selection status of the objects and add the unselected ones to the selection buffer. TEAM LinG - Live Informative Non-cost and Genuine Class Design of the Tool 771 The normal CSelectionBuffer Reset function would have reset the flags of the objects as well so you would not have known afterward which ones had been deselected before and should now be selected void CSelectionBuffer DestroyWithoutNotify void SAFE_FREE m_ppLob SAFE_FREE m_pVerts Init

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.