Share [Tạo 2D Platformer Game với Godot] Phần 11: Tấn công của kẻ thù

xuanhieu138

New member
Achgame # 1. Thiết lập tấn công

Trong phần này, tôi sẽ chỉ cho bạn cách thiết lập một cuộc tấn công vào kẻ thù.

## 1.1.Thêm nút

Bạn thêm một nút raycast để đặt tên là XencDinhplayer (Raycast này tôi sử dụng để xác định xem người chơi có đứng trước kẻ thù hay không, nó sẽ tấn công).

Thực hiện sau đó bạn điều chỉnh theo các bên và mũi tên của Raycast không được va chạm với CollisionShape2D.

Bạn bật nó lên và điều chỉnh các diễn viên lớn.

## 1.2.Mã số

`` `
var dangtancong = false

Func _Physics_Process (Delta):
Nếu dangtancong == false:
chuyendong.x = tocdo * hUong_dichuyen
chuyendong.y += inluc
Chuyendong = Move_and_Slide (Chuyendong, Vector2.up)
Animation.Play ("Dichuyen")

Nếu $ raycast2d.is_colliding () == false:
HUONG_DICHuyEN = HUONG_DICHUYEN * -1
scale.x = scale.y * hUong_dichuyen

Nếu is_on_wall () và $ xateinhplayer.is_colliding () == false:
HUONG_DICHuyEN = HUONG_DICHUYEN * -1
scale.x = scale.y * hUong_dichuyen

var coll = $ xateinhplayer.get_collider ()
Nếu coll! = null:
dangtancong = true
Animation.Play ("Tancong")
`` `

## 2. Tóm tắt

Vì vậy, tôi đã hoàn thành việc hướng dẫn bạn cách làm điều đó, nếu bạn có bất kỳ câu hỏi nào, vui lòng tham gia nhóm cộng đồng Godot VN hoặc cộng đồng lừa đảo để tìm câu trả lời.
=======================================
achgame # 1. Set up attack

In this section, I will show you how to set up an attack on the enemy.

## 1.1. Add node

You add a node raycast to name as xencdinhplayer (this raycast I use to determine if the player is standing in front of the enemy, it will attack).

Done then you adjust to the sideways and the arrow of Raycast must not collide with Collisionshape2D.

You turn it on and adjust the big cast.

## 1.2. Code

```
var dangtancong = false

func _physics_process(delta):
if dangtancong == False:
chuyendong.x = tocdo * huong_dichuyen
chuyendong.y += inluc
chuyendong = Move_and_slide(chuyendong, vector2.up)
Animation.play("Dichuyen")

if $ raycast2d.is_colliding() == False:
huong_dichuyen = huong_dichuyen * -1
scale.x = scale.y * huong_dichuyen

if is_on_wall() and $ xateinhplayer.is_colliding() == False:
huong_dichuyen = huong_dichuyen * -1
scale.x = scale.y * huong_dichuyen

var Coll = $ xateinhplayer.get_collider()
if Coll != null:
dangtancong = true
Animation.play("tancong")
```

## 2. Summary

So I have finished instructing you how to do it, if you have any questions please join Group of Godot VN community or Tricksmmo Community for answers.
 
Join Telegram ToolsKiemTrieuDoGroup
Back
Top