값
모든 필드에는 필드 데이터의 정보 소스인 값이 있어야 합니다. 모든 유형 (문자열, 숫자, 배열, 날짜 등)을 사용할 수 있습니다. 필드는 유효성 검사 도구를 사용하여 값을 제한하거나 컴퓨터가 읽을 수 있는 형식 (예: 날짜 형식 정규화)으로 변환할 수 있습니다.
텍스트
모든 필드에는 필드 값을 나타내는 인간이 읽을 수 있는 간단한 문자열인 텍스트가 포함됩니다. 그렇다고 해서 반드시 동일하다는 의미는 아닙니다. 예를 들어 불리언 필드의 텍스트는 '켜짐' 또는 '꺼짐'이지만 그 값은 'true' 또는 'false'입니다.
이 텍스트는 접근성을 위해 블록이 접힐 때 표시되며 선택적으로 온블록 디스플레이의 일부가 될 수 있습니다.
수정 가능한 입력란과 수정할 수 없는 입력란 비교
일반적으로 수정 가능한 필드를 사용하면 사용자가 코드를 변경할 수 있는 반면, 수정 불가능한 필드는 사용자에게 블록에 관한 정보를 표시합니다. 수정 가능한 필드를 클릭하면 리치 편집기가 표시될 수 있습니다.
수정 가능한 필드는 다음과 같습니다.
수정할 수 없는 필드는 다음과 같습니다.
직렬화
직렬화 가능한 필드의 값은 저장 형식 (JSON 또는 XML)으로 인코딩됩니다. 수정 가능한 모든 필드는 값이 동적이므로 직렬화할 수 있습니다. 수정할 수 없는 필드의 값은 일반적으로 동적이 아니므로 직렬화되지 않습니다.
직렬화된 필드는 다음과 같습니다.
직렬화되지 않은 필드에는 다음이 포함됩니다.
Label Serializable 필드는 수정할 수 없지만 직렬화할 수는 있습니다. 즉, 사용자에게 표시되는 UI가 아닌 프로그래매틱 방식으로만 수정할 수 있습니다. 수정되면 값은 생성된 JSON/XML로 인코딩됩니다.
코드 생성
필드는 블록 연결 및 연결 해제 외에도 사용자가 Blockly에서 생성한 코드를 제어할 수 있는 유일한 방법입니다. 필드에서 제공하는 편집기를 사용하면 사용자가 필드에 저장된 값을 수정할 수 있습니다. 그러면 블록의 생성기는 생성된 코드에서 사용할 필드 값에 액세스할 수 있습니다.
생성기에서 필드 값을 사용하는 방법에 대한 자세한 내용은 필드 코드 생성을 참조하세요.
온블록 디스플레이
필드의 블록 내 디스플레이는 필드 값을 나타내는 SVG 요소의 모음입니다. 블록의 공간을 차지하고 크기가 변경되면 블록의 크기를 강제로 변경합니다. 필드의 블록 내 디스플레이는 필요에 따라 단순하거나 복잡할 수 있습니다.
다음은 복잡성을 높이는 다양한 블록 내 디스플레이의 몇 가지 예입니다.
필드 유형 | 설명 |
---|---|
라벨 | 텍스트 요소만 포함합니다. |
각도 | 배경 직사각형, 텍스트 요소, 도 기호를 포함합니다. |
거북 | 배경 직사각형, 텍스트 요소, 거북이 그래픽을 구성하는 데 사용되는 여러 SVG 요소가 포함되어 있습니다. |
편집기 화면
사용자가 수정 가능한 필드를 클릭하면 필드에 임의로 복잡한 편집기가 표시될 수 있습니다.
다음은 복잡성을 높인 다양한 편집기의 예입니다.
필드 유형 | 설명 |
---|---|
체크박스 | 클릭했을 때 편집기가 없습니다. 온블록 디스플레이가 업데이트됩니다. |
숫자 입력 | 블록 내 디스플레이 위에 오버레이된 텍스트 편집기 사용자가 입력할 수 있습니다. 편집기에서 잘못된 값을 나타내기 위해 색상을 변경할 수도 있습니다. |
각도 선택기 | 각도 선택 도구에는 숫자를 입력할 수 있는 텍스트 편집기와 각도를 시각적으로 선택할 수 있는 드래그 가능한 편집기가 모두 있습니다. |
기타 디스플레이 모드
축소 모드: 사용자가 블록을 접습니다.블록은 개별 필드에서 반환된 텍스트를 사용하여 값을 텍스트로 표시합니다.
접근성 모드: 사용자가 스크린 리더 또는 이와 유사한 기술을 사용하여 Blockly와 상호작용할 수 있습니다. 필드의 텍스트를 사용자에게 읽을 수 있습니다.