‫Xin chào và chào mừng trở lại.
‫Bây giờ, chúng tôi đã tạo xong lớp đạn của mình và chúng tôi đã sẵn sàng bắt đầu tạo ra những thứ này
‫theo cấp độ để chúng tôi có thể phóng chúng vào các tháp và cuối cùng là phá hủy chúng.
‫Bây giờ, các tác nhân sinh sản sẽ liên quan đến chức năng tác nhân sinh sản.
‫Vì vậy, chúng ta sẽ tìm hiểu cách hoạt động trong video này.
‫Bây giờ, hãy nói về việc tạo ra đường đạn.
‫Đây là điều mà chúng tôi muốn làm từ khía cạnh C ++.
‫Chúng ta sẽ gọi các hàm C ++ để tạo động các đối tượng mới trong thế giới.
‫Bây giờ chúng ta đang sinh sản từ phía C ++ của mọi thứ, nhưng chúng ta muốn sinh ra một đối tượng dựa trên bản thiết kế của
‫lớp đạn của chúng ta.
‫Lý do là vì chúng ta có một bản thiết kế dựa trên lớp A Projectile C ++, lớp này chứa thông
‫tin bổ sung.
‫Cụ thể, nó có bộ thuộc tính lưới đó.
‫Chúng tôi đã chọn lưới cho thành phần lưới tĩnh của chúng tôi.
‫Vì vậy, chúng tôi không thể chỉ sinh ra phiên bản C ++.
‫Chúng tôi phải tạo ra phiên bản thiết kế để có được lưới đó.
‫Vì vậy, câu hỏi đặt ra là làm thế nào để chúng ta tạo ra một đối tượng trong C ++, đối tượng này dựa trên một bản thiết kế?
‫Chà, chúng ta sẽ tìm hiểu về một thứ gọi là PT Subclass, đây là một mẫu.
‫Và giống như nhiều mẫu, dấu ngoặc nhọn sẽ yêu cầu một loại.
‫Vì vậy, sử dụng lớp con PT của yêu cầu một tham số kiểu.
‫Và điều này cho phép chúng ta có một biến lưu trữ một thứ gọi là lớp U.
‫Lớp U đại diện cho một loại lớp, nhưng nó cũng có khả năng tương tác với hệ thống phản xạ của động cơ
‫không thực.
‫Khi tôi nói sự phản chiếu, tôi có nghĩa là trao đổi thông tin giữa C ++ và bên kế hoạch chi tiết.
‫Lớp con PT của, như tên gợi ý, cho phép chúng ta lưu trữ một biến đại diện cho một lớp dựa trên kiểu mà
‫chúng ta đang chuyển vào hoặc một lớp con của kiểu đã chọn này.
‫Điều này có nghĩa là chúng ta có thể chọn một kiểu và t lớp con của có thể chứa một lớp u đại diện cho kiểu đó hoặc bất kỳ
‫kiểu nào bắt nguồn từ nó.
‫Và điều này bao gồm các bản thiết kế dựa trên loại.
‫Vì vậy, hãy xem lớp con t này hoạt động như thế nào.
‫Được chứ.
‫Vì vậy, tôi quay lại đây trong nhóm cơ sở và lý do tôi ở trong nhóm cơ sở là vì chúng tôi muốn quả
‫đạn này có trên cả xe tăng và lớp tháp.
‫Cả hai lớp đó đều sẽ sinh ra đạn.
‫Vì vậy, tôi muốn một lớp con t của biến ở đây.
‫Vì vậy, tôi sẽ nói t phân lớp của và trong dấu ngoặc nhọn, chúng ta cần chuyển vào một kiểu.
‫Bây giờ chúng ta có thể chuyển tiếp khai báo ngay cả bên trong dấu ngoặc nhọn như thế này.
‫Và tôi sẽ biến loại này thành một đường đạn.
‫Và lý do là vì chúng tôi đã tạo ra lớp đường đạn và loại của nó là đường đạn.
‫Vì vậy, tôi sẽ tạo biến này và tôi sẽ gọi nó là lớp đạn.
‫Bây giờ, điều này sẽ cho phép chúng ta có một biến C ++ đại diện cho một kiểu lớp và kiểu này có thể dựa trên
‫một đường đạn, thậm chí là một kiểu lớp kế hoạch chi tiết dựa trên điều này.
‫Bây giờ tôi sẽ cung cấp cho nó một tài sản U.
‫Và bởi vì tôi muốn có thể chỉnh sửa điều này, ít nhất là trong bản thiết kế mặc định, tôi sẽ đặt bản
‫chỉnh sửa này thành mặc định.
‫Chỉ bây giờ chúng tôi có thể cung cấp cho danh mục này.
‫Tôi sẽ xếp nó vào một thể loại gọi là chiến đấu.
‫Bây giờ chúng ta hãy tiếp tục và biên dịch nó.
‫Được rồi, vậy tôi quay lại trình chỉnh sửa và tôi sẽ đi vào thư mục bản thiết kế và từ
‫đó vào thư mục Pons.
‫Và tôi sẽ mở BP - tank và mở trình chỉnh sửa bản thiết kế đầy đủ.
‫Bây giờ, nếu tôi nhìn vào bảng chi tiết, tôi có thể tìm kiếm chiến đấu.
‫Nó đây.
‫Và đây là biến lớp đạn.
‫Đây là lớp con mà chúng tôi gọi là lớp đạn.
‫Bây giờ lưu ý rằng chúng ta có thể đặt nó ở đây và chúng ta có thể đặt nó bằng cách sử dụng trình đơn thả xuống.
‫Và nếu chúng ta nhấp vào menu thả xuống, chúng ta có ba tùy chọn.
‫Chúng ta có thể đặt nó thành không, đó là những gì nó được đặt theo mặc định, về cơ bản có nghĩa là nó là một con trỏ null.
‫Hoặc chúng ta có thể đặt nó thành đường đạn hoặc đường đạn BP.
‫Đó là những gì lớp phụ cho phép chúng ta làm là đặt lớp đạn này thành một loại cụ thể dựa trên
‫đường đạn, vì đó là loại chúng tôi đã chọn khi tạo biến.
‫Bây giờ đường đạn ở đây.
‫Đây là lớp C ++ được gọi là projectile trong C ++.
‫Đó là một loại đạn, nhưng đạn BP là một bản thiết kế dựa trên lớp đạn C ++ và chúng ta có thể chọn
‫loại này.
‫Và bây giờ loại đạn được đặt thành loại đạn BP.
‫Bây giờ, đây không phải là một thành phần và nó không phải là một đối tượng đạn BP.
‫Đó không phải là những gì nó được.
‫Nó lưu trữ một loại, cụ thể hơn là một chữ U.
‫Loại lớp.
‫Và như tôi đã nói, lớp của bạn đã được tích hợp sẵn chức năng cho phép phản chiếu hoạt động giữa C ++ và các bản
‫thiết kế.
‫Thông tin có thể luân chuyển giữa C ++ và các bản thiết kế.
‫Vì vậy, bây giờ chúng ta có lớp đạn, một lớp phụ PT được đặt thành kiểu thiết kế đường đạn BP.
‫Vậy tại sao phải trải qua tất cả những rắc rối để tạo một lớp con của biến?
‫Chúng ta cần thảo luận về cách hoạt động của chức năng tác nhân sinh sản.
‫Tác nhân đẻ trứng là một chức năng thuộc về đẳng cấp thế giới mới.
‫Vì vậy, nếu chúng ta nắm được thế giới, chúng ta có thể gọi là diễn viên Spawn.
‫Và Spawn Actor là một hàm mẫu khác và nó được thiết kế để tạo các đối tượng mới tương tự như tạo đối
‫tượng phụ mặc định.
‫Nhưng đối tượng phụ tạo mặc định được thiết kế để tạo các thành phần và chúng ta chỉ có thể sử dụng nó trong phương thức khởi
‫tạo cho một tác nhân sinh sản lớp cụ thể có thể được gọi trong thời gian chạy trong khi trò chơi đang chạy và nó có thể tạo
‫các tác nhân.
‫Bây giờ nó là một mẫu, vì vậy nó yêu cầu một loại.
‫Nếu chúng ta muốn tạo ra một đường đạn, thì chúng ta sẽ chuyển loại lớp C ++ vào đây một đường đạn.
‫Đây là lớp C ++ được trả về bởi hàm spawn Actor trong C ++.
‫Bây giờ dấu ngoặc có một số tham số, bao gồm cả một lớp U.
‫Bây giờ có nhiều quá tải của hàm này nhận các tham số đầu vào khác nhau.
‫Đơn giản nhất có lẽ là phiên bản có lớp U, vị trí A và vòng quay.
‫Hoa Kỳ
‫Lớp là những gì đại diện cho loại để sinh sản.
‫Đây là loại thực tế của đối tượng được sinh sản.
‫Đây có thể là một lớp kế hoạch chi tiết.
‫Vị trí là một vectơ F chỉ định nơi sinh ra đối tượng và phép quay sẽ chỉ định cách quay của nó.
‫Vì vậy, một ví dụ về cú pháp trông như thế này.
‫Chúng ta sẽ gọi tác nhân sinh sản chỉ định loại lớp và sau đó chuyển thông tin lớp u đó cùng
‫với vectơ vị trí và công cụ quay vòng quay.
‫Vì vậy, chúng ta hãy nói về lớp học của bạn trong một giây.
‫Bây giờ, như chúng tôi đã nói, lớp của bạn đại diện cho một loại lớp.
‫Khi chúng ta gọi tác nhân sinh sản, chúng tôi chuyển vào một lớp U để cung cấp cho chức năng tác nhân sinh sản với
‫thông tin về đối tượng sẽ sinh sản.
‫Có, chúng tôi đã chuyển một kiểu trong dấu ngoặc nhọn, nhưng điều đó chỉ đơn giản là cho diễn viên Spawn biết kiểu C ++ cần
‫tạo.
‫Trong khi lớp của bạn chứa nhiều thông tin hơn.
‫Giả sử chúng tôi đã tạo một bản thiết kế dựa trên một đường đạn và trong bản thiết kế, chúng tôi thiết lập một
‫số thuộc tính chẳng hạn như chọn lưới tĩnh cho thành phần lưới tĩnh.
‫Bây giờ nếu chúng ta chỉ tạo ra một lớp C ++ thô, thì lưới tĩnh đó sẽ không được đặt trên đối tượng đường
‫đạn mới được tạo ra.
‫Về cơ bản, chúng tôi sẽ tạo ra một diễn viên mới vô hình.
‫Tuy nhiên, một biến lớp mới có thể đại diện cho một lớp kế hoạch chi tiết.
‫Lớp của bạn cung cấp cho chúng tôi khả năng có một biến ở phía C ++, đại diện cho một bản thiết kế,
‫kiểu lớp và sinh vật.
‫Actor có thể lấy lớp đó làm đối số đầu vào để nó có thể sinh ra một đối tượng mới dựa trên bản thiết kế
‫được đại diện bởi lớp mới đó.
‫Vì vậy, một đường đạn mới sẽ có thuộc tính lưới tĩnh của nó vì chúng ta đang tạo ra một đối tượng mới
‫dựa trên bản thiết kế chứ không phải lớp C ++ thô.
‫Đây là lý do tại sao chúng tôi tạo lớp con của mình vì nó có thể lưu trữ một lớp mới và chúng tôi
‫có thể đặt nó bằng với đạn BP từ bản thiết kế xe tăng BP của chúng tôi.
‫Vì vậy, bây giờ bạn biết làm thế nào để sinh ra các diễn viên.
‫Diễn viên đẻ trứng thuộc đẳng cấp thế giới mới.
‫Vì vậy, nếu bạn gọi get world và đơn giản gọi Spawn Actor, thì bạn biết các yêu cầu đầu vào
‫cho hàm này mà bạn chuyển vào kiểu C ++ trong dấu ngoặc nhọn và bạn phân loại một vị trí và một phép
‫quay trong ngoặc đơn.
‫Vì vậy, đối với thử thách của bạn, bạn sẽ tạo ra đường đạn, hãy thực hiện điều này trong chức năng khai hỏa.
‫Vì vậy, hãy gọi diễn viên sinh sản thế giới và vượt qua một đường đạn trong dấu ngoặc nhọn.
‫Điều này có nghĩa là bạn sẽ cần bao gồm tệp tiêu đề cho đường đạn.
‫Vì vậy, đừng quên điều đó và sử dụng lớp đạn biến mới của chúng tôi làm tham số đầu vào của lớp U trong dấu
‫ngoặc đơn.
‫Bây giờ chúng ta cần một vị trí và một vòng quay.
‫Bạn sẽ sử dụng điểm xuất hiện của đạn cho cả vị trí và góc quay.
‫Từ thành phần điểm sinh ra đạn.
‫Bạn có thể gọi lấy vị trí thành phần và nhận xoay thành phần để truy cập các giá trị này.
‫Vì vậy, hãy tạm dừng video và gọi tác nhân đẻ trứng trong chức năng chữa cháy ngay bây giờ.
‫Được chứ.
‫Vì vậy, chúng ta hãy đi vào CP ao nuôi cơ sở, nơi chúng ta đã xác định hàm lửa.
‫Bây giờ chúng ta đã vẽ quả cầu gỡ lỗi ở đây.
‫Chúng tôi sẽ không thực sự cần điều đó nữa.
‫Vì vậy, tôi sẽ xóa lệnh gọi hàm này và thay vào đó tôi sẽ gọi diễn viên Spawn ở đây.
‫Bây giờ chúng ta đã có vị trí điểm xuất hiện của đạn.
‫Tôi sẽ đổi tên biến cục bộ này thành vị trí đơn giản và tôi sẽ tạo một công cụ quay F mới.
‫Gọi là luân chuyển.
‫Và điều này tôi cũng sẽ nhận được từ điểm xuất hiện của đường đạn.
‫Vì vậy, nó sẽ là điểm sinh ra đạn có được sự xoay vòng thành phần.
‫Vì vậy, bây giờ tôi đã có vị trí và vòng quay để tạo ra đường đạn.
‫Vì vậy, tiếp theo, tôi cần gọi diễn viên đẻ trứng để tôi có thể gọi nhận được thế giới.
‫Và từ thế giới mà tôi nhận được từ chức năng này, tôi có thể gọi là tác nhân sinh sản.
‫Bây giờ cái này có dấu ngoặc nhọn và dấu ngoặc đơn, phải không?
‫Vì vậy, trong dấu ngoặc nhọn, tôi cần sử dụng một đường đạn.
‫Và vì chúng tôi đang sử dụng một đường đạn, chúng tôi cần bao gồm tiêu đề cho điều đó.
‫Vì vậy, ở đây, tôi sẽ xóa, vẽ trình trợ giúp gỡ lỗi và thay thế nó bằng đường đạn.
‫Vì vậy, bây giờ chúng tôi có loại đó bao gồm.
‫Bây giờ chúng ta cần lớp U và dựa trên H có lớp đạn, chúng ta có thể sử dụng lớp đó làm lớp U.
‫Vì vậy, chúng ta sẽ vượt qua trong lớp phóng đạn.
‫Bây giờ, cuối cùng, chúng ta có thể chuyển vị trí và quay và điều này sẽ đáp ứng chức năng tác nhân sinh sản.
‫Vì vậy, chúng ta hãy tiếp tục và biên dịch cái này và chúng ta quay lại đây trong trình chỉnh sửa và chúng ta có thể chơi thử.
‫Vì vậy, tôi sẽ tiếp tục nhấp và kiểm tra điều đó.
‫Chúng tôi đã tạo ra một đường đạn mới.
‫Chúng tôi tạo ra quả đạn ở đầu nòng súng của chúng tôi và chúng chỉ bay lơ lửng trên không
‫trung, trông không thực sự ổn.
‫Nhưng nó ổn.
‫Đây là bước một.
‫Đầu tiên chúng ta phải tạo ra đường đạn, làm cho nó hoạt động giống như một đường đạn là bước tiếp theo.
‫Vì vậy, tóm lại, chúng ta đang tạo ra các đường đạn.
‫Đây là một cột mốc quan trọng.
‫Tuy nhiên, chúng vẫn chưa hoàn toàn là đạn.
‫Chúng chỉ bay lơ lửng ở đó và đường đạn được cho là bay trong không khí.
‫Vì vậy, trong video tiếp theo, chúng ta sẽ nói về cách làm cho đường đạn của chúng ta thực sự bay trong
‫không khí để chúng hoạt động giống như đường đạn.
‫Tôi sẽ gặp bạn sớm.