res://Abcd.gd
class Abcd:
func _init():
pass
이렇게 있다고 해봐
AbcdHandler.gd
const Abcd = Abcd("res://Abcd.gd")
var a: Abcd
이럼 에러남
Abcd클래스를 읽어올수가 없음
사용하는 버전은 고도 3.4.4임
왜 그러지?
class_name으로 하면 전역으로 접근 가능해진다는데
"전역으로 접근 가능한것 자체가 싫음"
모듈단위로 자기 관심사만 봤으면 좋겠음
근데 class_name은 전역접근이고
class는 이상하게 접근이 안됨
고도는 되는지 안되는지 자체를 헷갈리는 거 같고
이거 그냥 무조건 전역접근 가능하게 써야되는 거임?
import같은거 없음?
class는 파일 내에 같이 넣을때 포함시킬때만 쓰는 내부 클래스 용도고
다른 파일의 코드랑 같이 쓰려면 무조건 class_name을 써야 되는 거임?
gpt는 이런걸 혼란스럽게 답해버리니까 귀찮네
preload인가 load였나
사실요즘고도안해서잘모름수구
3버전에도 이너클래스가 존재했었나?
load()
load로 하면 클래스에 선언된 타입은 다 못보고 ( 코드 어시스트 못받고 ) 그냥 스크립트식으로 써야되던데 그냥 그거밖에 답이 없나
class는 내부클래스선언할 때 쓰는거임
님이 한대로 하려면 var a:Abcd.Abcd 해야함
오오 ㄳㄳ
gd가 아니라 씬인 tres로 불러와야하고 그거 변수명 지정해서 add_child로 씬내에 깔고 그다음에 호출해야되는거 아님?
싱글턴 지정하는거 있으니 그거하고 하면 될듯
Abcd.gd에서 class로 시작한는 줄 삭제 & _init() 함수 들여쓰기 제거. class는 클래스 선언문이 아니라 이너 클래스 선언문임. AbcdHandler.gd에서는 const 로 시작하는 줄을 const Abcd = preload("res://Abcd.gd") 로 변경. 이게 import 같은 거임.