• Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
AnonyViet
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
No Result
View All Result
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
No Result
View All Result
AnonyViet
No Result
View All Result

Tạo 2D Platformer Game với Godot] Phần 8: Thiết kế kẻ thù

DeathGM by DeathGM
12/11/2021
in Godot
Reading Time: 3 mins read
A A
0

Mục lục bài viết

  1. Kẻ thù
    1. Add node
    2. Cách hoạt động
  2. Tổng Kết

Trong phần trước mình đã hướng dẫn bạn cách tạo một con kẻ thù cơ bản nhất, thì trong phần này mình sẽ chỉ các bạn cách để kẻ thù di chuyển trên 1 bề mặt nổi.

Kẻ thù

Tạo 2D Platformer Game với Godot] Phần 8: Thiết kế kẻ thù

Các bài viết liên quan

Có nên dùng Unity để lập trình game không? 31

Có nên dùng Unity để lập trình game không?

07/04/2022
godot lap trinh game

Có nên học Godot Engine để lập trình Game không?

15/03/2022 - Updated on 17/03/2022
hoc lap trinh game de khong

Học lập trình Game dễ không? Tiềm năng của ngành lập trình game?

09/03/2022
Có nên dùng Game Maker Studio để làm Game trong năm không? 32

Có nên dùng Game Maker Studio để làm Game trong năm không?

03/03/2022

Với cái bề mặt như trên, mình đảm bảo rằng khi con kẻ thù của bạn di chuyển tới một trong hai góc ngoài thì nó sẽ bị rớt xuống mà thường các game platformet là khi nó di chuyển tới góc nó sẽ quay trở lại như và chạm vào cái tường ở phần trước ấy.

Cho nên trong phần này mình sẽ hướng dẫn bạn cách làm điều này.

Add node

Đầu tiên, bạn thêm cho mình một node mới là RayCast2D ( đây là node dùng để truy vấn các mục tiêu va chạm với tia ).Tạo 2D Platformer Game với Godot] Phần 8: Thiết kế kẻ thù 25

Đây chính là tia raycast  và mình sẽ sử dụng nó để kiểm tra xem nếu đã tới cái góc thì mình sẽ kêu con kẻ thù quay lại.Tạo 2D Platformer Game với Godot] Phần 8: Thiết kế kẻ thù 26

Mình sẽ chỉnh lại cho nó ngắn hơn và bật nó lên.

Tạo 2D Platformer Game với Godot] Phần 8: Thiết kế kẻ thù 27

 

func _physics_process(delta):
    
    chuyendong.x = tocdo * huong_dichuyen
    chuyendong.y += trongluc
    chuyendong = move_and_slide(chuyendong,Vector2.UP)
    animation.play("dichuyen")
    
    if is_on_wall():
        huong_dichuyen = huong_dichuyen * -1
        scale.x = scale.y * huong_dichuyen
    
    if $RayCast2D.is_colliding() == false:
        huong_dichuyen = huong_dichuyen * -1
        scale.x = scale.y * huong_dichuyen

Ở đây, mình chỉ thêm 3 dòng code thôi chứ không thêm gì nhiều cả.

Đầu tiên, dòng if:

  • Là mình sẽ gọi cái node raycast và kiểm tra xem nó có đang va chạm với cái gì không, nếu không thì tức là mình đã tới góc thì quay lại.
  • 2 dòng còn lại là dùng để xoay con kẻ thù thôi.
  • cái dòng scale.x = … thực ra bạn có thể bỏ bên ngoài if luôn chứ không cần bỏ trong hàm nhưng mình không làm vậy vì để tối ưu hoá nó, mình bỏ trong lệnh if cho nên là khi xảy ra nó mới chạy còn nếu bỏ ngoài thì lúc nào cũng chạy -> kết quả là gì thì bạn cũng đoán được rồi đó.

Tạo 2D Platformer Game với Godot] Phần 8: Thiết kế kẻ thù 28

Đây là kết quả sau khi mình chạy game.

Cách hoạt động

Nếu bạn chưa hiểu thì mình sẽ giải thích cụ thể hơn ở đây nha.Tạo 2D Platformer Game với Godot] Phần 8: Thiết kế kẻ thù 29

Đây là cái con kẻ thù khi nó chưa ra góc, và cái Raycast nó đang va chạm với tilemap như trong hình.

Tạo 2D Platformer Game với Godot] Phần 8: Thiết kế kẻ thù 30

Còn đây là kẻ thù khi ra tới góc, bạn thấy đó cái raycast đã ra khỏi bên ngoài cái tilemap ( raycast va chạm tính ở góc nhọn của cái mũi tên), khi nó ra ngoài rồi là nó sẽ không va chạm với cái gì nữa mà ở trong phần script mình đã thêm 1 đoạn if để kiểm tra nếu như nó không va chạm thì quay lại.

Tổng Kết

Vậy là mình đã hướng dẫn bạn xong cách tạo 1 con nhân vật cơ bản nhất, ở phần tiếp theo sẽ là di chuyển giữa level, giết kẻ thù.

 

Tags: Godotlập trình gamethiết kế game
Previous Post

Tạo 2D Platformer Game với Godot] Phần 7: Thiết kế kẻ thù

Next Post

Cách chơi game Netflix trên Android và iOS

DeathGM

DeathGM

Related Posts

godot lap trinh game
Godot

Có nên học Godot Engine để lập trình Game không?

15/03/2022 - Updated on 17/03/2022
[Tạo 2D Platformer Game với Godot] Phần 29: Lưu và load dữ liệu game 33
Godot

[Tạo 2D Platformer Game với Godot] Phần 29: Lưu và load dữ liệu game

09/12/2021
[Tạo 2D Platformer Game với Godot] Phần 28: Thêm âm thanh giao diện 34
Godot

[Tạo 2D Platformer Game với Godot] Phần 28: Thêm âm thanh giao diện

08/12/2021
[Tạo 2D Platformer Game với Godot] Phần 27: Mở khoá level 35
Godot

[Tạo 2D Platformer Game với Godot] Phần 27: Mở khoá level

07/12/2021
[Tạo 2D Platformer Game với Godot] Phần 26: Thêm điểm số khi hết game 36
Godot

[Tạo 2D Platformer Game với Godot] Phần 26: Thêm điểm số khi hết game

30/11/2021
[Tạo 2D Platformer Game với Godot] Phần 25: Tạo Menu khi hết Level 37
Godot

[Tạo 2D Platformer Game với Godot] Phần 25: Tạo Menu khi hết Level

29/11/2021
Next Post
Cách chơi game Netflix trên Android và iOS 38

Cách chơi game Netflix trên Android và iOS

guest
guest

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.

0 Comments
Inline Feedbacks
View all comments

Liên hệ Quảng Cáo

Lien he AnonyViet

Đối tác —

Fshare

Các bài mới

CTF là gì? Muốn làm Hacker có nên chơi CTF? 39

CTF là gì? Muốn làm Hacker có nên chơi CTF?

21/05/2022
khoa hoc Hacker mu trang - Masters In Ethical Hacking

Tải khóa học Hacker mũ trắng – Masters In Ethical Hacking

20/05/2022
Cách ẩn nhà của bạn khỏi Google Maps 40

Cách ẩn nhà của bạn khỏi Google Maps

19/05/2022
tao tai khoan vcb bang sdt

Cách Tạo tài khoản Vietcombank theo Số điện thoại miễn phí

18/05/2022
Mip22 - tạo trang Phishing cho Linux và Android

Mip22 – Công cụ tạo trang Phishing cho Linux và Android

18/05/2022

Ads

Giới thiệu

AnonyViet

AnonyViet

Nơi chia sẻ những kiến thức mà bạn chưa từng được học trên ghế nhà trường!

Chúng tôi sẵn sàng đón những ý kiến đóng góp, cũng như bài viết của các bạn gửi đến AnonyViet.

Hãy cùng AnonyViet xây dựng một cộng đồng CNTT lớn mạnh nhất!

Giới thiệu

AnonyViet là Website chia sẻ miễn phí tất cả các kiến thức về công nghệ thông tin. AnonyViet cung cấp mọi giải pháp về mạng máy tính, phần mềm, đồ họa và MMO.

Liên hệ

Email: anonyviet.com[@]gmail.com

1409 Hill Street #01-01A
Old Hill Street Police Station
Singapore 179369

 

Bản quyền: DMCA.com Protection Status

Bài viết mới

  • CTF là gì? Muốn làm Hacker có nên chơi CTF?
  • Cách giao dịch Ngoại Hối
  • Tải khóa học Hacker mũ trắng – Masters In Ethical Hacking
  • Cách ẩn nhà của bạn khỏi Google Maps
  • Cách Tạo tài khoản Vietcombank theo Số điện thoại miễn phí
  • Mip22 – Công cụ tạo trang Phishing cho Linux và Android

©2022 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về Công nghệ. Google iwin888 Bing tải game iwin Github tải iwin apk Github tải win456 Youtube ku fun wikipedia 88vin reddit twin 567LIVE MMLive 92lottery sun86 stackoverflow

No Result
View All Result
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC

©2022 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về Công nghệ. Google iwin888 Bing tải game iwin Github tải iwin apk Github tải win456 Youtube ku fun wikipedia 88vin reddit twin 567LIVE MMLive 92lottery sun86 stackoverflow

wpDiscuz
pixel