‫Xin chào và chào mừng.
‫Bài giảng này, chúng ta sẽ khiến kẻ thù của chúng ta trở thành mối đe dọa nhiều hơn bằng cách triển khai một nút bắn trong C ++.
‫Hãy đi sâu vào và xem làm thế nào để làm điều đó.
‫Vì vậy, một phần chức năng rõ ràng còn thiếu trong cây hành vi của chúng tôi là khả năng chụp.
‫Điều lý tưởng mà tôi muốn làm là di chuyển đến vị trí của người chơi và sau đó bắn.
‫Nhưng chúng tôi muốn thay đổi một chút trước tiên về cách chúng tôi thực hiện chuyển động.
‫Có một số thứ tôi muốn chỉnh sửa, vì vậy nếu tôi chọn chuyển sang Node, một điều tôi muốn thay
‫đổi là bán kính.
‫Tôi không muốn kẻ thù đến ngay với mình, vì vậy nếu tôi thay đổi bán kính có thể chấp nhận được,
‫thì nó sẽ ngừng di chuyển cách tôi năm mét.
‫Vì vậy, nó sẽ dừng lại.
‫Cho tôi một khoảng cách năm mét đẹp.
‫Anh ấy đến với tôi, bạn đây.
‫Và anh ấy dừng lại và nhìn chằm chằm.
‫Bây giờ điều khác tôi muốn làm là ở đây trong phần bảng đen, bạn có thể thấy có một giá trị bảng
‫đen quan sát được.
‫Nếu chúng tôi chưa kiểm tra điều đó, hãy xem điều gì sẽ xảy ra khi tôi di chuyển.
‫Về cơ bản anh ta và điều này rõ ràng hơn một chút khi chúng tôi có bán kính nhỏ hơn có thể chấp nhận được.
‫Vì vậy, hãy chỉ cần ghi nó xuống đó là năm bốn bây giờ.
‫Và nếu tôi đánh trò chơi thì bạn có thể thấy điều đó khi tôi di chuyển.
‫Anh ấy đi đến địa điểm cuối cùng của tôi và sau đó anh ấy chỉ khi anh ấy đến đó, anh ấy mới cập nhật.
‫Đó không phải là những gì chúng tôi muốn.
‫Những gì chúng tôi muốn là nó liên tục đến với chúng tôi.
‫Và nếu bạn kiểm tra giá trị bảng đen quan sát, thì về cơ bản những gì nó nói là mỗi khi
‫vị trí người chơi thay đổi, chúng tôi sẽ cập nhật nơi chúng tôi sẽ chuyển đến.
‫Vì vậy, nếu tôi tiếp tục và chơi và di chuyển, bạn có thể thấy anh ấy liên tục theo dõi tôi và cập nhật đường
‫đi của mình.
‫Đó chính xác là những gì chúng tôi muốn.
‫Vì vậy, bây giờ chúng ta có thể thay đổi bán kính chấp nhận của mình thành 500 và nó trở nên ít rõ ràng hơn.
‫Nhưng vẫn tốt khi chúng ta có giá trị bảng đen quan sát được ở đó.
‫Và sau đó, hành vi mà chúng tôi muốn là một khi anh ta đến trong bán kính của chúng tôi như vậy, anh ta sẽ dừng lại
‫và bắn vào chúng tôi.
‫Vì vậy, chúng tôi cần một loại nhiệm vụ mới.
‫Vì vậy, chúng ta sẽ tạo một tác vụ C ++ mới ở đây.
‫Vì vậy, chúng ta sẽ thêm lớp C ++ mới, mới.
‫Sau đó, chúng tôi sẽ đi và hiển thị tất cả các lớp và tìm kiếm nhiệm vụ đánh bại.
‫Bây giờ, chúng ta muốn cái nào, nút nhiệm vụ nhịp hay cơ sở bảng đen nhiệm vụ nhịp?
‫Chà, chúng tôi thực sự không cần sử dụng chìa khóa vì chúng tôi sẽ thử và bắn.
‫Đó là tất cả những gì chúng tôi sẽ làm.
‫Chúng tôi sẽ bóp cò súng trên khẩu súng của mình hoặc việc ngắm bắn sẽ được thực hiện ở nơi khác trong cây hành vi của
‫chúng tôi.
‫Vì vậy, hãy mở nút tác vụ, lớp cơ sở ở đây, và chúng ta sẽ gọi nhiệm vụ nhịp này.
‫Dấu gạch dưới.
‫Bắn.
‫Hãy tiếp tục và tạo lớp đó.
‫Sau đó, chúng tôi kết thúc với một cái gì đó giống như thế này.
‫Vì vậy, chúng tôi muốn thực hiện thiết lập tương tự.
‫Vì vậy, một thử thách nhỏ dành cho bạn là thực hiện kiểu thiết lập tương tự như chúng tôi đã làm cho bảng đen, giá trị bảng
‫đen rõ ràng của chúng tôi.
‫Chúng ta muốn có một cái tên, chúng ta muốn có một nhiệm vụ thực thi.
‫Bây giờ, hãy giả sử video và thực hiện điều đó.
‫Được rồi, chào mừng bạn trở lại.
‫Vì vậy, đó là một nhiệm vụ nhỏ.
‫Tôi sẽ sao chép các chữ ký từ một giá trị bảng đen rõ ràng để chụp, bao gồm cả phần
‫công khai và phần được bảo vệ.
‫Tôi sẽ thay đổi tên của hàm tạo của chúng ta.
‫Tôi sẽ tiếp tục và triển khai hàm tạo của chúng tôi.
‫Và chúng ta cần làm gì?
‫Chúng tôi cần đặt tên nút bằng để bắn.
‫Đó là những gì chúng ta sẽ gọi nó.
‫Sau đó, quay lại tiêu đề cho nhiệm vụ bắn và chúng tôi sẽ thử và thực hiện nhiệm vụ thực thi ngay bây
‫giờ và chúng tôi chỉ cần gọi lên đến siêu.
‫Vì vậy, tôi sẽ sao chép nó từ tệp CP giá trị bảng đen rõ ràng của chúng tôi và sau đó chúng tôi sẵn sàng bắt đầu triển khai.
‫Vì vậy, điều đầu tiên chúng ta cần làm ở đây, hãy có thêm một chút không gian là chúng
‫ta sẽ cần nắm giữ con đường cầm đồ của mình.
‫Tại sao chúng ta cần cầm đồ của mình?
‫Vâng, chúng ta hãy xem xét nhân vật của game bắn súng, đó là một con tốt.
‫Nhớ nhân vật game bắn súng?
‫Chấm H có phương pháp bắn.
‫Đó là những gì chúng tôi muốn gọi về cơ bản giống như chúng tôi mà người chơi đang làm.
‫Anh ấy đang giữ nút kích hoạt và đó là cách gọi phương pháp bắn này.
‫Chúng tôi muốn AI cũng có thể làm được như vậy.
‫Khi bạn có nhiệm vụ bắn, nó sẽ giữ nút kích hoạt hoặc nhấn liên tục nút kích hoạt đó để nhiệm vụ
‫thực thi sẽ là nơi thích hợp để thực hiện điều này.
‫Chúng ta có thể sẽ trả lại những gì ở đây, bởi vì hãy nhớ rằng, hành động này chỉ là một cú đánh.
‫Nó không phải là chụp liên tục.
‫Chúng ta sẽ làm gì?
‫Chúng tôi sẽ trả về kết quả nút ET thành công nếu chúng tôi hoặc đã thành công.
‫Nếu chúng tôi đã thành công vì chúng tôi không cần phải đánh dấu liên tục.
‫Chúng tôi không cần tác vụ này chạy lâu hơn một khung hình duy nhất.
‫Và điều khác chúng ta cần làm là nắm giữ, như tôi đã nói, của lớp cầm đồ đó.
‫Vâng, những gì tôi sẽ làm là tôi sẽ chỉ cho bạn cách bạn có thể nắm giữ bộ điều khiển AI.
‫Và từ bộ điều khiển AI, chúng tôi biết rằng chúng tôi có thể gọi bị cầm đồ để lấy được con tốt đã bị kiểm soát.
‫Và chúng tôi biết rằng chúng tôi có thể sử dụng con tốt được kiểm soát đó để triển khai nhân vật game bắn súng của chúng tôi.
‫Vậy làm cách nào để chúng ta nắm được bộ điều khiển AI từ điều này?
‫Chà, chúng tôi đã có thành phần cây hành vi của mình, mà chúng tôi biết là trên một bộ điều khiển AI.
‫Vì vậy, có thể đó có một cái gì đó mà chúng ta có thể sử dụng nếu chúng ta đi đến thành phần cây hành vi Yu và
‫xem tại đây để biết bất kỳ phương pháp nào có thể hữu ích.
‫Ở đây có rất nhiều thứ, nhưng nếu chúng ta tìm kiếm bộ điều khiển, chúng ta sẽ không thấy bất cứ thứ gì nhưng có
‫thể ở đâu đó trong một trong các lớp cơ sở của nó vì lớp cha cho thành phần cây hành vi YU là thành
‫phần não Yu.
‫Chúng tôi theo dõi cái đó và tìm kiếm bộ điều khiển ở đây.
‫Bạn có thể thấy có một tài sản cho nó.
‫Có một getter?
‫Có, nó được gọi là nhận chủ sở hữu AI và điều đó sẽ trở lại nếu chúng ta di chuột qua con trỏ bộ điều khiển AI.
‫Vì vậy, bạn sẽ có thể sử dụng nó để nắm giữ con tốt, chuyển nó cho một nhân vật game bắn súng
‫và sau đó gọi phương pháp bắn.
‫Vì vậy, đó sẽ là thử thách của bạn khi gọi phương pháp bắn, công khai, lấy con, bỏ
‫con, gọi, bắn và sau đó thử nghiệm nó trong cây hành vi của bạn.
‫Tạm dừng video và tiếp tục.
‫Được chứ.
‫Chào mừng trở lại.
‫Vì vậy, trước hết, bước đầu tiên là chúng ta cần đặt phương thức chụp này ở chế độ công khai vì
‫nó cần được gọi từ bên ngoài lớp này.
‫Vì vậy, tôi sẽ đặt nó chỉ gây ra thiệt hại.
‫Chúng ta sẽ quay, hãy nhường một chút không gian cho nó, một chút phòng thở.
‫Tôi thích không gian màu trắng giúp tôi nhìn thấy.
‫Giúp tôi suy nghĩ.
‫Sau đó, chúng ta sẽ đến phần quay nhiệm vụ BT.
‫Trước hết, chúng ta sẽ kiểm tra xem bộ điều khiển của chúng ta không phải là null.
‫Nếu không, chúng ta không thể sử dụng toán tử mũi tên trên đó.
‫Chỉ là thông thường, thực hành tốt để thực hiện các kiểm tra rỗng này.
‫Vì vậy, nếu chủ sở hữu AI này không bằng, xin lỗi là bằng con trỏ null, chúng tôi sẽ muốn trở về sớm
‫với thất bại.
‫Vì vậy, nhiệm vụ này sẽ thất bại nếu chúng ta không có bộ điều khiển AI.
‫Điều đó khá đơn giản.
‫Vì vậy, tôi sẽ thực hiện một dấu hai chấm kết quả nút ET trả về.
‫Colon không thành công như vậy.
‫Và sau đó, chúng tôi sẽ thực hiện thành phần chủ sở hữu, chủ sở hữu AI, chúng tôi sẽ - vào nó.
‫Trên thực tế, chúng tôi có thể cần bao gồm một tệp tiêu đề ở đây.
‫Vì vậy, hãy thực hiện một hash include và nó sẽ là khung trò chơi và bộ điều khiển.
‫Và trên thực tế, tôi nghĩ, vâng, bất kỳ bộ điều khiển nào cũng nên làm, nhưng tôi nghĩ chúng ta cần bộ điều khiển AI vì đó là
‫loại con trỏ mà chúng ta quay lại và sau đó chúng ta sẽ làm một mũi tên và chúng ta sẽ làm một
‫cầm đồ ở đây phàn nàn về một cái gì đó trong hồ sơ của tôi.
‫Có lẽ tôi đã không hiểu điều gì đó đúng.
‫Vì vậy, dấu gạch chéo về phía trước, tôi có vẻ như tôi đã nhầm.
‫Nó không thực sự nằm trong khuôn khổ trò chơi.
‫Bạn chỉ cần có một bộ điều khiển để bao gồm điều đó.
‫Xin hãy dạy cho tôi vì đã quá báng bổ về điều đó.
‫Vậy là xong.
‫Bây giờ chúng tôi có thể nhận được cầm đồ từ.
‫Và như tôi đã nói, chúng tôi cũng cần phải casting.
‫Vì vậy, chúng tôi sẽ thực hiện phân vai cho loại mà chúng tôi sẽ cần để nhập vai A của nhân vật game bắn súng.
‫Vì vậy, đó là ở dạng đầy đủ của nó một nhân vật bắn súng, một nhân vật bắn súng.
‫Và chúng tôi cũng sẽ cần kiểm tra kết quả của việc này.
‫Nhưng chúng ta cần đưa vào nhân vật game bắn súng của mình.
‫Vì vậy, bao gồm băm ở đầu nhân vật game bắn súng.
‫Todd H.
‫Như vậy và chúng tôi sẽ lưu trữ nó trong một nhân vật bắn súng loại con trỏ.
‫Ngôi sao sẽ là nhân vật của chúng ta.
‫Đó là những gì chúng tôi sẽ gọi nó.
‫Chúng tôi sẽ lưu trữ nó ở đó.
‫Và về cơ bản, chúng ta cần đảm bảo rằng cả lệnh get - return vì get - có thể trả về
‫null nếu mắt hiện không kiểm soát một con tốt.
‫Hoặc phép ép kiểu này có thể trả về null nếu kiểu không phải là vấn đề đối với nhân vật nếu người đó điều khiển kiểu
‫khác của -.
‫May mắn thay, hai điều này đi xuống khá tốt với nhau, vì vậy nếu bạn thử và ép một con trỏ null, kết quả chỉ là một con trỏ
‫null, đó là lý do tại sao chúng ta có thể làm điều này.
‫Những kiểm tra tất cả trong một dòng.
‫Sau đó, chúng ta có thể thực hiện một ký tự if.
‫Bằng con trỏ null.
‫Sau đó, chúng tôi muốn thất bại một lần nữa.
‫Vì vậy, trở lại.
‫Kết quả nút ET.
‫Đại tràng.
‫Colon không thành công như vậy.
‫Và cuối cùng, sau tất cả những lần kiểm tra đó và chúng tôi biết rằng chúng tôi
‫đã có cho mình một nhân vật game bắn súng, chúng tôi sẽ có thể gọi là bắn mũi tên nhân vật đó và bắn như vậy để cuối cùng chúng tôi có thể
‫bắn.
‫Hãy chuyển sang cây hành vi của chúng ta.
‫Và ở đây, chúng tôi sẽ muốn kéo xuống để đặt một nút mới và tìm kiếm nhiệm vụ bắn mới mà chúng
‫tôi có ở đây.
‫Và tôi không chắc liệu mình đã biên dịch hay chưa, vì vậy tôi sẽ đảm bảo rằng mọi thứ được biên dịch lại.
‫Và sau khi hoàn thành, chúng ta có thể đi qua và chơi và xem liệu anh chàng này có xuất hiện và bắn hay không.
‫Có, anh ấy có.
‫Thật không may, anh ta bắn liên tục và tự bắn vào chân mình.
‫Vì vậy, một cái gì đó không phải là hoàn toàn viết ngay ở đó.
‫Vì vậy, có hai điều đang xảy ra sai.
‫Đầu tiên, anh ấy cố gắng tự sát bằng hai phát súng và có vẻ như anh ấy đang bắn từng khung hình, điều này sẽ
‫có ý nghĩa bởi vì chúng tôi sẽ nhìn thấy người chơi, chúng tôi di chuyển đến họ và sau đó bắn là
‫hành động cuối cùng chúng tôi đã có ở đây, mà chúng tôi sẽ thực hiện nhiều lần.
‫Vì vậy, những gì chúng tôi muốn làm thực sự là biến điều này thành một chuỗi.
‫Vì vậy, tôi sẽ kéo một nút ở đây được gọi là tạo một nút trình tự.
‫Và những gì chúng tôi sẽ làm là chúng tôi sẽ bắn, sau đó chờ đợi, sau đó bắn, sau đó chờ và lặp lại điều
‫đó vô thời hạn.
‫Vì vậy, bắn trước, chờ một chút.
‫Vì vậy, có lẽ chúng tôi chờ đợi, tôi không biết, cho 1/2 giữa các bức ảnh và sau đó chúng tôi sẽ muốn lặp lại điều này, điều mà chúng tôi
‫có thể làm với người trang trí.
‫Vì vậy, nếu tôi nhấp chuột phải vào thêm trang trí và tìm trình trang trí vòng lặp, thì bạn có thể xem bạn muốn nó lặp
‫lại bao nhiêu lần.
‫Nó nói ba lần.
‫Chúng tôi không muốn nó ba lần.
‫Về cơ bản, chúng tôi muốn nó lặp lại vô hạn cho đến khi chúng tôi cần di chuyển hoặc chúng tôi cần mất dấu người chơi và chúng tôi
‫cần phải đi và điều tra.
‫Vì vậy, chúng tôi sẽ tiếp tục và nhấn chơi và xem liệu điều đó có hiệu quả không.
‫Đến với tôi.
‫Chồi, chồi, chồi.
‫Nhưng anh ấy không thực sự đánh tôi.
‫Bạn có thể thấy rằng những cú sút của anh ấy đang thực sự tự hạ cánh.
‫Và chúng ta sẽ giải quyết lỗi đó trong một bài giảng sắp tới.
‫Hẹn gặp bạn ở đó.