들판의 해부학

모든 필드에는 필드 데이터의 정보 소스인 값이 있어야 합니다. 모든 유형 (문자열, 숫자, 배열, 날짜 등)을 사용할 수 있습니다. 필드는 유효성 검사 도구를 사용하여 값을 제한하거나 컴퓨터가 읽을 수 있는 형식 (예: 날짜 형식 정규화)으로 변환할 수 있습니다.

텍스트

모든 필드에는 필드 값을 나타내는 인간이 읽을 수 있는 간단한 문자열인 텍스트가 포함됩니다. 그렇다고 해서 반드시 동일하다는 의미는 아닙니다. 예를 들어 불리언 필드의 텍스트는 '켜짐' 또는 '꺼짐'이지만 그 값은 'true' 또는 'false'입니다.

이 텍스트는 접근성을 위해 블록이 접힐 때 표시되며 선택적으로 온블록 디스플레이의 일부가 될 수 있습니다.

수정 가능한 입력란과 수정할 수 없는 입력란 비교

일반적으로 수정 가능한 필드를 사용하면 사용자가 코드를 변경할 수 있는 반면, 수정 불가능한 필드는 사용자에게 블록에 관한 정보를 표시합니다. 수정 가능한 필드를 클릭하면 리치 편집기가 표시될 수 있습니다.

수정 가능한 필드는 다음과 같습니다.

수정할 수 없는 필드는 다음과 같습니다.

직렬화

직렬화 가능한 필드의 값은 저장 형식 (JSON 또는 XML)으로 인코딩됩니다. 수정 가능한 모든 필드는 값이 동적이므로 직렬화할 수 있습니다. 수정할 수 없는 필드의 값은 일반적으로 동적이 아니므로 직렬화되지 않습니다.

직렬화된 필드는 다음과 같습니다.

직렬화되지 않은 필드에는 다음이 포함됩니다.

Label Serializable 필드는 수정할 수 없지만 직렬화할 수는 있습니다. 즉, 사용자에게 표시되는 UI가 아닌 프로그래매틱 방식으로만 수정할 수 있습니다. 수정되면 값은 생성된 JSON/XML로 인코딩됩니다.

코드 생성

필드는 블록 연결 및 연결 해제 외에도 사용자가 Blockly에서 생성한 코드를 제어할 수 있는 유일한 방법입니다. 필드에서 제공하는 편집기를 사용하면 사용자가 필드에 저장된 값을 수정할 수 있습니다. 그러면 블록의 생성기는 생성된 코드에서 사용할 필드 값에 액세스할 수 있습니다.

생성기에서 필드 값을 사용하는 방법에 대한 자세한 내용은 필드 코드 생성을 참조하세요.

온블록 디스플레이

필드의 블록 내 디스플레이는 필드 값을 나타내는 SVG 요소의 모음입니다. 블록의 공간을 차지하고 크기가 변경되면 블록의 크기를 강제로 변경합니다. 필드의 블록 내 디스플레이는 필요에 따라 단순하거나 복잡할 수 있습니다.

다음은 복잡성을 높이는 다양한 블록 내 디스플레이의 몇 가지 예입니다.

필드 유형 설명
라벨 텍스트 요소만 포함합니다.
각도 배경 직사각형, 텍스트 요소, 도 기호를 포함합니다.
거북 배경 직사각형, 텍스트 요소, 거북이 그래픽을 구성하는 데 사용되는 여러 SVG 요소가 포함되어 있습니다.

편집기 화면

사용자가 수정 가능한 필드를 클릭하면 필드에 임의로 복잡한 편집기가 표시될 수 있습니다.

다음은 복잡성을 높인 다양한 편집기의 예입니다.

필드 유형 설명
체크박스 클릭했을 때 편집기가 없습니다. 온블록 디스플레이가 업데이트됩니다.
숫자 입력 블록 내 디스플레이 위에 오버레이된 텍스트 편집기 사용자가 입력할 수 있습니다. 편집기에서 잘못된 값을 나타내기 위해 색상을 변경할 수도 있습니다.
각도 선택기 각도 선택 도구에는 숫자를 입력할 수 있는 텍스트 편집기와 각도를 시각적으로 선택할 수 있는 드래그 가능한 편집기가 모두 있습니다.

기타 디스플레이 모드

축소 모드: 사용자가 블록을 접습니다.블록은 개별 필드에서 반환된 텍스트를 사용하여 값을 텍스트로 표시합니다.

거북이 밭 블록 접힘

접근성 모드: 사용자가 스크린 리더 또는 이와 유사한 기술을 사용하여 Blockly와 상호작용할 수 있습니다. 필드의 텍스트를 사용자에게 읽을 수 있습니다.