• 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

[Godot RPG] #3: Tấn Công & Object

DeathGM by DeathGM
20/08/2020
in Godot
Reading Time: 7 mins read
A A
0

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

  1. Tấn Công
    1. Hitbox & HurtBox
    2. Nhấn rồi đánh
    3. Instance & Animation Player
  2. Object
    1. Tạo Sence mới

Chào mừng các bạn đến với bài 3 trong series lập trình game RPG với Godot :3

Okay , thì trong bài này mình sẽ hướng dẫn các bạn tấn công với animation player & Hitbox & Hurtbox và Object với Godot

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

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
[Tạo 2D Platformer Game với Godot] Phần 29: Lưu và load dữ liệu game 134

[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 135

[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 136

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

07/12/2021

Và chúng ta cùng bắt đầu thôi

Tấn Công

Chúng ta sẽ tạo 1 cái Sence mới để làm Hitbox để kiểm tra khi chúng ta tấn công và hurtbox để kiểm tra khi cái hitbox nó va chạm thì mất máu.

Hitbox & HurtBox

Tạo cái Hitbox và nút gốc là Area2D rồi sau đó thêm cái CollisionShape2D là được.

[Godot RPG] #3: Tấn Công & Object 103

Rồi tạo script mới

[Godot RPG] #3: Tấn Công & Object 104

Ở đây mình sẽ dùng biến export để xuất ra ngoài Inspector cho dễ điều chỉnh cho từng nhân vật. bạn có thể chỉnh ngôn ngữ ở ngoài giao diện của Godot sang tiếng việt cho dễ

[Godot RPG] #3: Tấn Công & Object 105

Rồi lưu lại là xong.

Rồi tạo cái Sence mới là HurtBox sau đó lưu lại như Hitbox thôi và không cần tạo script vì chúng ta sẽ kết nối tín hiệu đến player

[Godot RPG] #3: Tấn Công & Object 106

Nhấn rồi đánh

Chúng ta phải check nếu như nhấn vào thì tấn công chứ. Bạn có thể Edit cái Input nếu lười thì sử dụng như ảnh :vv. Godot có nhiều lựa chọn mà!

[Godot RPG] #3: Tấn Công & Object 107

Rồi sau đó trạng thái sẽ bằng ATTACK.

Ở ATTACK: chúng ta sẽ tạo 1 hàm mới là trangthai_attack sẽ có code chạy animtion attack

[Godot RPG] #3: Tấn Công & Object 108

Rồi tiếp theo các bạn gọi nó trên chỗ ATTACK: nhé.

Sau đó khi tấn công chúng ta phải set speed = 0 để khi tấn công nó sẽ không di chuyển

[Godot RPG] #3: Tấn Công & Object 109

Sau khi tấn công xong nó sẽ đứng yên vì nó chưa về trạng thái IDLE vậy nên chúng ta phải set nó về.

Mình sẽ tạo 1 hàm mới

[Godot RPG] #3: Tấn Công & Object 110

Sau đó ở AnimationPlayer > Animation AtTACk > thêm track method(đây là track sẽ chạy hàm Godot có cái này tiện vl :3)

[Godot RPG] #3: Tấn Công & Object 111

Sau đó chọn Player vì Player mới có code mà chạy:D

[Godot RPG] #3: Tấn Công & Object 112

Rồi chọn hàm

[Godot RPG] #3: Tấn Công & Object 113

Rồi chỉnh lại cho về cuối vì khi kết thúc animation = chạy hàm

[Godot RPG] #3: Tấn Công & Object 114

Và vậy là các bạn sẽ di chuyển bình thường lại

Instance & Animation Player

Tiếp theo chúng ta sẽ Instance nó trong Godot. Instance mình cũng chả biết gọi tiếng việt là gì nữa@@.

Sau đó nhấn add 2 cái Hitbox & Hurtbox sau đó nhấn chuột phải vô 2 cái nhấn Editable as children để chúng ta có thể điều chỉnh nó như 1 nút con và để set collishape luôn.

[Godot RPG] #3: Tấn Công & Object 115

À trước đó, chúng ta phải set mask/layer đã. Vô Project > Project Setting > 2D Render / 2D Physics

các bạn set như mình nhé. Set cho cả 2 cái 2D Render và 2D Physics

[Godot RPG] #3: Tấn Công & Object 116

Rồi ở cái Hitbox của player ở bên bảng thuộc tính > collision  thì mình sẽ bỏ tick trong cái Layer và ở cái Mask sẽ tick nó va chạm với Hurtbox_E tức là khi player tấn công nó sẽ va chạm với hurtbox của kẻ thù.

[Godot RPG] #3: Tấn Công & Object 117

[Godot RPG] #3: Tấn Công & Object 118

Rồi ở HurtBox Layer các bạn tick ở ô Hurtbox_P ở phần mask bỏ trống

[Godot RPG] #3: Tấn Công & Object 119

Tiếp đến là chỉnh cái CollisionShape2D của HurtBox sao cho vừa với nhân vật .

[Godot RPG] #3: Tấn Công & Object 120

Rồi tiếp đến sẽ set collisionshape2D của Hitbox với AnimationPlayer.

Ở Collisionshape2D của Hitbox thì nhấn vô cái khoá để add track nhanh

[Godot RPG] #3: Tấn Công & Object 121

[Godot RPG] #3: Tấn Công & Object 122

Sau đó bạn sẽ canh vị trí khi nào nó tấn công để tắt / bật.

Vì nó chưa tấn công nên mình sẽ để Disabled = trueở giây thứ 0 rồi check tiếp mấy giây tiếp theo nếu đến hành động tấn công thì set disable =false rồi sau  khi rút kiếm về thì disabled = true

[Godot RPG] #3: Tấn Công & Object 123

[Godot RPG] #3: Tấn Công & Object 124

Rồi sau đó chạy lại sẽ thấy nó ổn và perfect :33. Mình thích cái này trong Godot cực

Object

Tiếp theo chúng ta sẽ tạo object với Godot.

Link tải: https://elthen.itch.io/pixel-art-destructible-objects

Tạo Sence mới

Ở đây thì tạo:

Area2D > Sprite – CollisionShape2D – AnimationPlayer

[Godot RPG] #3: Tấn Công & Object 125

Ở sprite thì bỏ ảnh vô nhé và mình thấy hơi to các bạn set scale sao cho phù hợp nhé.

Vframes = 12

Hframes = 7

 

[Godot RPG] #3: Tấn Công & Object 126

Mờ thì reimport lại nha.

[Godot RPG] #3: Tấn Công & Object 127

Rồi tiếp theo ở AnimationPlayer tạo 2 animation là Hit và Destroy nhé. Hit là animation khi đánh vào và Destroy là animation khi bị phá huỷ.

Ở đây mình sẽ là cái Thùng  bạn muốn đổi thì cũng được.

Hit : 7-9

Destory:10-13

Ở animation destroy mình sẽ áp dụng cái call method tương tự ở trên nha.

destroy() chứa câu lệnh queue_free()

[Godot RPG] #3: Tấn Công & Object 128

Rồi sau đó tạo script mới. ở đây chúng ta không cần Hitbox hay Hurtbox vì cái thùng này nó đã là 1 nút area2d rồi.

chúng ta sẽ set collisionshape2D cho nó rồi kết nối tín hiệu. nhưng lưu ý nếu làm theo Nút area2D như mình sẽ có bất lợi khi player va chạm với nó. Nếu bạn dùng StaticBody để làm nó rồi thêm Hurtbox vào thì sẽ hoàn chỉnh tốt hơn.

Kết nối tín hiệu Area enterd nhé.

[Godot RPG] #3: Tấn Công & Object 129

mình sẽ tạo biến hp = 10 để có căn mà căn khi player tấn công.

Rồi ở chỗ hàm tín hiệu thì mình sẽ kiểm tra nếu cái tên area  = “Hitbox” thì hp sẽ bằng cái damage của area trừ đi hp. Cái print là mình dùng để kiểm tra hp xem có đánh vào chưa thôi Godot.

[Godot RPG] #3: Tấn Công & Object 130

Rồi set cái Layer lại thành Hurtbox_E và bỏ chọn Mask là được.

[Godot RPG] #3: Tấn Công & Object 131

 

Tiếp đó chúng ta cần kiểm tra nếu player tấn công thì sẽ chậynimation hit và khi hết máu chạy animation destroy

Ở đây mình sẽ hàm _process(): để kiểm tra mỗi giây nếu hp <= 0 thì sẽ chạy animation rồi tự huỷ

[Godot RPG] #3: Tấn Công & Object 132

Rồi Tiếp đến để chắc ăn các bạn ở ANimation hit thì nhấn cái khoanh dưới ảnh đểkhi bắt đầu nó chạy animation hit chứko phải destroy nhé

[Godot RPG] #3: Tấn Công & Object 133

Lưu Ý: Object thì lúc đầu mình tạo ngu nên thông cảm :V. Khi chạy game Ọbject sẽ không va chạm được với player nếu muốn bạn phải chỉnh lại thành StaticBody2D hoặc KinematicBody2D rồi add hurtbox > kết nối tín hiệu rồi áp dụng code như trên là được.

Hẹn gặp bạn vào bài sau của Series lập trình game RPG với Godot

 

 

Tags: GodotGODOT ENGINE
Previous Post

Top 10 Game Mobile Đáng Thử Không Nên Bỏ Qua Trong Năm 2020

Next Post

Cách livestream game trên Youtube Gaming

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 137
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 138
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 139
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 140
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 141
Godot

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

29/11/2021
Next Post
thiết lập kênh youtube gaming

Cách livestream game trên Youtube Gaming

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

25 tính năng "bí mật" ẩn trong công cụ tìm kiếm DuckDuckGo 142

25 tính năng “bí mật” ẩn trong công cụ tìm kiếm DuckDuckGo

27/05/2022
doi icon recycle bin hinh con meo

Cách đổi Icon Thùng rác thành hình con mèo hả mồm

26/05/2022
Cách mở khóa Bootloader trên điện thoại Xiaomi bằng Mi Unlock 143

Cách mở khóa Bootloader trên điện thoại Xiaomi bằng Mi Unlock

26/05/2022
5 Extension Chrome "mờ ám" bạn cần phải xóa ngay 144

5 Extension Chrome “mờ ám” bạn cần phải xóa ngay

25/05/2022
5 Website giúp bạn tìm chủ tài khoản Email là ai 145

5 Website giúp bạn tìm chủ tài khoản Email là ai

24/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

  • 25 tính năng “bí mật” ẩn trong công cụ tìm kiếm DuckDuckGo
  • Cách đổi Icon Thùng rác thành hình con mèo hả mồm
  • Cách mở khóa Bootloader trên điện thoại Xiaomi bằng Mi Unlock
  • Cách thắng Game bắn cá
  • 5 Extension Chrome “mờ ám” bạn cần phải xóa ngay
  • 5 Website giúp bạn tìm chủ tài khoản Email là ai

©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 SP666 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 SP666 92lottery sun86 stackoverflow

wpDiscuz
pixel