Godot에서 두 노드 좌표를 비교하는 방법

휴고 알레한드로 코르테스 루이즈

이것은 해결하기 쉬운 일일 수 있지만 저는 godot 및 gdscript에 익숙하지 않아서 어떻게해야할지 모르겠고 2D 플랫 포머에 적합한 튜토리얼이나 어떤 것도 찾을 수 없습니다.

플레이어가 해당 영역에 들어갈 때 장면을 변경하는 CollisionShape2d가있는 Sprite가 있고 플레이어의 위치와 자신의 위치를 ​​비교하고 충돌이 발생하거나 변경 될 때 플레이어의 x 좌표가 더 높으면 이전 장면으로 변경하고 싶습니다. 그렇지 않은 경우 다음 장면에 간단한 조건을 사용 if position.x > player.position.x:하지만 "식별자"플레이어 "가 현재 범위에 선언되어 있지 않습니다"라는 오류가 발생하고이를 수정하는 방법을 모르겠습니다. 나는 항상 플레이어를 향하고있는 적에게 비슷한 일을하려고했는데, 말할 필요도없이 같은 오류가 발생합니다.

다음은 전체 스크립트입니다.

extends Sprite

func _on_hitbox_area_entered(area: Area2D) -> void:
    if area.is_in_group("shield"): 
        if position.x > player.position.x:
            get_tree().change_scene("res://Levels/world_" + str(int(get_tree().current_scene.name) + 1) + ".tscn")
        else:
            get_tree().change_scene("res://Levels/world_" + str(int(get_tree().current_scene.name) - 1) + ".tscn")

다른 방법이있을 수 있지만 솔루션을 검색 할 때 관련없는 항목을 찾고 다른 방법을 모르겠습니다.

슈퍼 코더

이에 대한 해결책은 플레이어를 영역으로 대체하여 코드가 다음과 같이 보이도록하는 것입니다.

extends Sprite

func _on_hitbox_area_entered(area: Area2D) -> void:
    if area.is_in_group("shield"): 
        if position.x > area.position.x:
            get_tree().change_scene("res://Levels/world_" + str(int(get_tree().current_scene.name) + 1) + ".tscn")
        else:
            get_tree().change_scene("res://Levels/world_" + str(int(get_tree().current_scene.name) - 1) + ".tscn")

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

GQL에서 두 필드를 비교하는 방법

분류에서Dev

목록에서 노드를 비교하는 더 나은 방법

분류에서Dev

MongoDB 쿼리에서 두 필드를 비교하는 방법이 있습니까?

분류에서Dev

SQL에서 두 노드 사이의 공통 노드를 계산하는 방법

분류에서Dev

Swift : 두 좌표계 사이에서 GMSMarker를 부드럽게 이동하는 방법

분류에서Dev

비 UI 스레드에서 터치 좌표를 얻는 방법

분류에서Dev

드롤에서 두 16 진수 값을 비교하는 방법

분류에서Dev

두 개체를 비교하는 방법-비교에서 특정 속성 제외

분류에서Dev

드래그 된 노드를 다른 노드 앞에 두는 방법 (JavaFX 8)?

분류에서Dev

두 개의 tm (ctime에서) 변수를 비교하는 방법

분류에서Dev

unetsim : 속도 나 방향이 아닌 좌표 만 지정하여 노드를 한 좌표에서 다른 좌표로 이동하는 기능이 있습니까?

분류에서Dev

SQL 두 필드를 비교하는 방법?

분류에서Dev

TFS에서 서로 다른 두 쿼리의 필드를 비교하는 방법이 있습니까?

분류에서Dev

Cypher를 사용하여 neo4j의 두 복제 노드에서 노드를 삭제하는 방법

분류에서Dev

몇 개의 노드를 건너 뛰어 두 개의 xml을 비교하는 방법은 무엇입니까?

분류에서Dev

두 통합 문서를 비교하는 방법

분류에서Dev

루비에서 두 가지 데이터 세트를 비교하는 방법

분류에서Dev

그래프 DB에서 노드 간의 두 관계를 만드는 방법

분류에서Dev

파이썬에서 두 좌표를 연결하는 도미노 경로

분류에서Dev

NSDate에서 두 시간을 비교하는 방법. 비교를 수행 할 때 nsdate에 대해 nil을 반환합니다. # 내 코드 디버그

분류에서Dev

두 std :: set의 두 비교를 비교하는 방법

분류에서Dev

두 개의 알려진 점 사이에 좌표를 생성하는 방법

분류에서Dev

두 물체를 비교하는 방법?

분류에서Dev

두 .exe를 비교하는 방법

분류에서Dev

두 노드를 같은주기에 두는 방법은 무엇입니까?

분류에서Dev

Java에서 Google API를 사용하여 두 좌표 세트에서 방향을 얻는 방법

분류에서Dev

두 개체 목록간에 필드를 비교하는 방법은 무엇입니까?

분류에서Dev

CAShapeLayer에서 좌표를 얻는 방법

분류에서Dev

onmouseup에서 좌표를 얻는 방법?

Related 관련 기사

  1. 1

    GQL에서 두 필드를 비교하는 방법

  2. 2

    목록에서 노드를 비교하는 더 나은 방법

  3. 3

    MongoDB 쿼리에서 두 필드를 비교하는 방법이 있습니까?

  4. 4

    SQL에서 두 노드 사이의 공통 노드를 계산하는 방법

  5. 5

    Swift : 두 좌표계 사이에서 GMSMarker를 부드럽게 이동하는 방법

  6. 6

    비 UI 스레드에서 터치 좌표를 얻는 방법

  7. 7

    드롤에서 두 16 진수 값을 비교하는 방법

  8. 8

    두 개체를 비교하는 방법-비교에서 특정 속성 제외

  9. 9

    드래그 된 노드를 다른 노드 앞에 두는 방법 (JavaFX 8)?

  10. 10

    두 개의 tm (ctime에서) 변수를 비교하는 방법

  11. 11

    unetsim : 속도 나 방향이 아닌 좌표 만 지정하여 노드를 한 좌표에서 다른 좌표로 이동하는 기능이 있습니까?

  12. 12

    SQL 두 필드를 비교하는 방법?

  13. 13

    TFS에서 서로 다른 두 쿼리의 필드를 비교하는 방법이 있습니까?

  14. 14

    Cypher를 사용하여 neo4j의 두 복제 노드에서 노드를 삭제하는 방법

  15. 15

    몇 개의 노드를 건너 뛰어 두 개의 xml을 비교하는 방법은 무엇입니까?

  16. 16

    두 통합 문서를 비교하는 방법

  17. 17

    루비에서 두 가지 데이터 세트를 비교하는 방법

  18. 18

    그래프 DB에서 노드 간의 두 관계를 만드는 방법

  19. 19

    파이썬에서 두 좌표를 연결하는 도미노 경로

  20. 20

    NSDate에서 두 시간을 비교하는 방법. 비교를 수행 할 때 nsdate에 대해 nil을 반환합니다. # 내 코드 디버그

  21. 21

    두 std :: set의 두 비교를 비교하는 방법

  22. 22

    두 개의 알려진 점 사이에 좌표를 생성하는 방법

  23. 23

    두 물체를 비교하는 방법?

  24. 24

    두 .exe를 비교하는 방법

  25. 25

    두 노드를 같은주기에 두는 방법은 무엇입니까?

  26. 26

    Java에서 Google API를 사용하여 두 좌표 세트에서 방향을 얻는 방법

  27. 27

    두 개체 목록간에 필드를 비교하는 방법은 무엇입니까?

  28. 28

    CAShapeLayer에서 좌표를 얻는 방법

  29. 29

    onmouseup에서 좌표를 얻는 방법?

뜨겁다태그

보관