<원인>
- 3.1부터 추가된 Typed GDScript 기능으로 인하여 생긴 문제.
- 다른 gd 파일(특히 AutoLoad 파일)의 클래스 변수 사용여부를 알 수가 없다.
- Project>Project Settings>General>Debug>Gdscript의 Warnings 항목에서 "Unused Class Variable" 비활성화.
- Enable을 비활성화하는 것은 디버깅을 하기 위해서는 권장하지 않는다.
<원인>
<Godot2/3 설정>
<VSCode 설정>
<참고>
https://www.reddit.com/r/godot/comments/8z6yxu/how_can_i_connect_my_visual_studio_code_to_godot/
The NaN values are used to identify undefined or non-representable values for floating-point elements, such as the square root of negative numbers or the result of 0/0.
1. GDScript 클래스에서 지원하는 메서드 함수 리스트.
2. ColorN() 함수에서 지원하는 컬러이름 목록은 다음과 같다.
“aliceblue”, “antiquewhite”, “aqua”, “aquamarine”, “azure”, “beige”, “bisque”, “black”, “blanchedalmond”, “blue”, “blueviolet”, “brown”, “burlywood”, “cadetblue”, “chartreuse”, “chocolate”, “coral”, “cornflower”, “cornsilk”, “crimson”, “cyan”, “darkblue”, “darkcyan”, “darkgoldenrod”, “darkgray”, “darkgreen”, “darkkhaki”, “darkmagenta”, “darkolivegreen”, “darkorange”, “darkorchid”, “darkred”, “darksalmon”, “darkseagreen”, “darkslateblue”, “darkslategray”, “darkturquoise”, “darkviolet”, “deeppink”, “deepskyblue”, “dimgray”, “dodgerblue”, “firebrick”, “floralwhite”, “forestgreen”, “fuchsia”, “gainsboro”, “ghostwhite”, “gold”, “goldenrod”, “gray”, “webgray”, “green”, “webgreen”, “greenyellow”, “honeydew”, “hotpink”, “indianred”, “indigo”, “ivory”, “khaki”, “lavender”, “lavenderblush”, “lawngreen”, “lemonchiffon”, “lightblue”, “lightcoral”, “lightcyan”, “lightgoldenrod”, “lightgray”, “lightgreen”, “lightpink”, “lightsalmon”, “lightseagreen”, “lightskyblue”, “lightslategray”, “lightsteelblue”, “lightyellow”, “lime”, “limegreen”, “linen”, “magenta”, “maroon”, “webmaroon”, “mediumaquamarine”, “mediumblue”, “mediumorchid”, “mediumpurple”, “mediumseagreen”, “mediumslateblue”, “mediumspringgreen”, “mediumturquoise”, “mediumvioletred”, “midnightblue”, “mintcream”, “mistyrose”, “moccasin”, “navajowhite”, “navyblue”, “oldlace”, “olive”, “olivedrab”, “orange”, “orangered”, “orchid”, “palegoldenrod”, “palegreen”, “paleturquoise”, “palevioletred”, “papayawhip”, “peachpuff”, “peru”, “pink”, “plum”, “powderblue”, “purple”, “webpurple”, “rebeccapurple”, “red”, “rosybrown”, “royalblue”, “saddlebrown”, “salmon”, “sandybrown”, “seagreen”, “seashell”, “sienna”, “silver”, “skyblue”, “slateblue”, “slategray”, “snow”, “springgreen”, “steelblue”, “tan”, “teal”, “thistle”, “tomato”, “turquoise”, “violet”, “wheat”, “white”, “whitesmoke”, “yellow”, “yellowgreen”.
<참고>
http://docs.godotengine.org/en/3.0/classes/class_@gdscript.html
1. Process Material에서 New ParticlesMaterial 선택.
2. Textures에서 Texture에 Particle로 사용할 이미지를 선택.
3. Time
4. Drawing
5. ParticlesMaterial settings
Clamps value
and returns a value not less than min
and not more than max
.
speed = 1000
# a is 20
a = clamp(speed, 1, 20)
speed = -10
# a is 1
a = clamp(speed, 1, 20)
<참고>
http://docs.godotengine.org/en/3.0/classes/class_@gdscript.html?highlight=clamp#class-gdscript-clamp
1. Python에서는 type() 함수를 써서 변수 타입을 알아볼 수 있다. 그와 같은 함수가 typeof() 함수이다.
2. Python의 type() 함수와는 다르게, 변수 타입을 체크하기 위해서 별도의 조건문이나 조건식을 사용해야 한다.
예) print(typeof(a) == TYPE_VECTOR2)
<참고>
http://docs.godotengine.org/en/stable/classes/class_@gdscript.html#class-gdscript-typeof
1. 기본적으로는 둘다 delta값에 의해서 동기화를 하는 콜백 함수.
2. 물리엔진을 적용해서 사용해야하는 경우(예:KinematicBody)는 _physics_process() 함수를 써야한다.(RigidBody의 경우는 _integrate_forces()를 사용해야 한다.)
3. Key값은 _process()에서 받고, KinematicBody의 제어는 _physics_process()에서 할 경우, 동기화 문제로 인하여 Jittering이 발생할 수 있으므로, 이런 경우는 Key값도 _physics_process()에서 담당하도록 코딩을 한다.
1. Platform 게임 개발시 아랫층에서 윗층으로 점프할 때 유용하다.
2. 2.x 버젼에서는 One Way Collision을 적용할 방향을 설정할 수 있는 옵션이 인스펙터에 있었는데 현재 3.0.5에서는 없다.(해당 클래스인 CollisionShape2D의 설명을 보면 'Sets whether this collision shape should only detect collision on one side (top or bottom).' 이라고 써있는 걸 보면 간소화 시킨 듯)
3. 2.1.4 버젼에서는 One Way Collisor로 되어 있으며, PhysicsBody2D 3종 세트(StaticBody2D, RigidBody2D, 그리고 KinematicBody2D)에 옵션이 있으며, 3.0.5 버젼에는 CollisionShape2D과 CollisionPolygon2D에 옵션이 있다.
<참고>