plitri

검색어 '학습'로 3개의 글을 찾았습니다.

  1. 2017.03.11 [Godot] GUI를 카메라에 영향받지 않도록 하기 
  2. 2017.03.11 [Godot] C2의 scale-in 구현 (반응형) 
  3. 2017.03.10 [Godot] Patch9Frame 

[Godot] GUI를 카메라에 영향받지 않도록 하기

2017.03.11 14:47학습/Godot 엔진

CanvasLayer 밑에 두래요.

참고

근데 왜일까요... (...) 아, 메뉴얼에 자세한 설명이 있었군요. 어쩌다보니 까먹었지만요. ParallaxBackground 도 CanvasLayer의 자식입니다.

아무튼 저거때문에 일시정지 메뉴의 루트를 바꿔버렸습니다. 잘 되네요. 일단 사용하는 입장에서는 자세히는 몰라도 되지 않을까 싶습니다.

어 그럼 C2의 Parallax Ratio는 어떻게 구현하지...?

ParallaxBackground 아래에 두면 되지 싶은데 확인하긴 번거로우니 나중에 필요할 때 알아보기로 하겠습니다.

신고

'학습 > Godot 엔진' 카테고리의 다른 글

[Godot] GUI를 카메라에 영향받지 않도록 하기  (0) 2017.03.11
[Godot] C2의 scale-in 구현 (반응형)  (0) 2017.03.11
[Godot] Patch9Frame  (0) 2017.03.10

[Godot] C2의 scale-in 구현 (반응형)

2017.03.11 12:33학습/Godot 엔진

참고자료


여러 방법이 있겠는데 저는 keep-width와 keep-height를 거꾸로 적용하는 방법으로 갔습니다.

저는 아래 코드를 자동로드(autoload / 싱글톤)에 넣고 구동했습니다. OS.get_window_size()가 모바일에서도 동작하는지는 아직 확인하지 않았습니다.

# https://godotengine.org/qa/9947/responsive-to-fit-multiple-resolutions
# https://sites.google.com/site/dsgodot/code-snippets/viewport-size
extends Node

var min_screen = Vector2(Globals.get("display/width"), Globals.get("display/height"))

func _ready():
	get_tree().connect("screen_resized", self, "_screen_resized");
	_screen_resized()

func _screen_resized():
	var scene_rect = OS.get_window_size()
	# print("DEBUG","Scene resized : " + str(scene_rect) )
	if scene_rect.width > scene_rect.height:
		get_tree().set_screen_stretch( SceneTree.STRETCH_MODE_VIEWPORT, SceneTree.STRETCH_ASPECT_KEEP_HEIGHT, min_screen )
	else:
		get_tree().set_screen_stretch( SceneTree.STRETCH_MODE_VIEWPORT, SceneTree.STRETCH_ASPECT_KEEP_WIDTH, min_screen )
	# print("DEBUG","Scene resized : " + str( get_tree().get_root().get_node("level_player/pause_ui").get_size() ) )

프로젝트 설정은 이렇습니다.

  • width, height 지정
  • stretch_mode - viewport
  • stretch_aspect - keep
  • 씬의 루트 노드는 풀스크린 앵커링된 컨트롤


이제 카메라 세팅하는 법 알아보러 가야...

신고

'학습 > Godot 엔진' 카테고리의 다른 글

[Godot] GUI를 카메라에 영향받지 않도록 하기  (0) 2017.03.11
[Godot] C2의 scale-in 구현 (반응형)  (0) 2017.03.11
[Godot] Patch9Frame  (0) 2017.03.10

[Godot] Patch9Frame

2017.03.10 02:29학습/Godot 엔진

128x128, 외곽 둥긂 32px 인 스프라이트로 확인하였습니다.




Region Rect는 스프라이트에서 9 Patch를 지정한 영역을 나타내는 듯 합니다. Width, Height 둘 다 0인 경우 아예 이미지 전체영역을 잡는 것 같습니다. 이미지 전체 기준일 경우 굳이 수정할 필요 없습니다.

Patch Margin은 상하좌우 테두리 영역인 듯 합니다.

Draw Center를 체크 해제하면 가운데가 비게 됩니다.

신고

'학습 > Godot 엔진' 카테고리의 다른 글

[Godot] GUI를 카메라에 영향받지 않도록 하기  (0) 2017.03.11
[Godot] C2의 scale-in 구현 (반응형)  (0) 2017.03.11
[Godot] Patch9Frame  (0) 2017.03.10
1