컨텐츠로 건너뛰기

게이지 예제

예제

예제: 원형 게이지 사용

게이지 기능 이해를 위한 예제입니다.

설정

태그 설정

  1. 다음 태그들을 생성합니다.:
    1. Gas Peddle
      • 데이터 종류: BOOL
      • 초기값: false
    2. Gauge
      • 데이터 종류: INT (INT16)
      • 초기값: 0
    3. Button
      • 데이터 종류: REAL (FLOAT32)
      • 초기값: 0.0

스크립트 설정

  1. 다음 스크립트를 생성합니다.:
    1. Gauge
      • 실행 종류 : 정주기

  1. 다음을 Gauge 스크립트에 붙여 넣습니다
var currentSpeed = 0;
var throttleEngaged = false;
var maxSpeed = 1000;
var minSpeed = 0;
var speedStep = 10;  // Adjust speed increment based on throttle engagement

// Main loop to control the speed based on the throttle
while (true) {
    // Check if the throttle is engaged (assuming the "Throttle" tag reflects engagement)
    if (tag.read("Gas Peddle") == 1) {
        throttleEngaged = true;  // Throttle engaged
    } else {
        throttleEngaged = false;  // Throttle disengaged
    }

    // If throttle is engaged, increase the speed
    if (throttleEngaged) {
        currentSpeed += speedStep;  // Increase speed
        if (currentSpeed > maxSpeed) {
            currentSpeed = maxSpeed;  // Cap the speed at the maximum value (240)
        }
    } else {
        currentSpeed -= speedStep;  // Decrease speed when throttle is disengaged
        if (currentSpeed < minSpeed) {
            currentSpeed = minSpeed;  // Ensure speed doesn't drop below 0
        }
    }

    // Write the current speed to the "Speed" tag (update the speedometer)
    tag.write("Gauge", currentSpeed);

    // Small delay before the next loop iteration
    thread.msleep(100);  // Adjust for smoother or faster speed changes
}
  1. 다음 스크립트를 생성합니다.:
    1. Speed Gauge
      • 실행 종류: 정주기

  1. 다음을 Speed Gauge 스크립트에 붙여 넣습니다.
thread.msleep(5100)
while (1){
	var control_speed_tag = tag.read("Gauge")
	var control = control_speed_tag * 360/(15 * 100 * 12)
	
	
	thread.msleep(10)
}
  1. 다음 스크립트를 생성합니다.:
    1. Speed Gauge 1
      • 실행 종류: 정주기

  1. 다음을 Speed Gauge 1 스크립트에 붙여 넣습니다
while (1) {
	if (tag.read("Gas Peddle")){
		tag.write("Gauge", tag.read("Gauge") + 1);
	}
	thread.msleep(50)
}
  • 이 명령은 다음 섹션의 오브젝트에 사용됩니다. 화살표를 길게 누르면 차량이 오른쪽으로 이동하며 게이지도 움직이며, 화살표에서 마우스를 놓으면 차량이 왼쪽으로 이동하는 동시에 게이지도 원상태로 돌아옵니다.

프로젝트 설정

  1. 벡터 심볼 라이브러리 화살표 2개, 순간 값 버튼, 기호 라이브러리의 자동차, 마지막으로 원형 게이지 등 5개의 오브젝트를 화면에 만듭니다.

  1. 아래 이미지를 따라 이전에 만든 태그가 올바른 개체에 있는지, 동작 버튼이 올바르게 설정되어 있는지 확인합니다.

[원형 게이지] – [값] : Gauge 태그 연결

[파란색 화살표] - [형태 창] - [투명도] : button 태그 연결

[순간 값 버튼] – [기본 속성] – [태그] : button 태그 연결

[순간 값 버튼] – [동작] – [누를 때, 놓을 때] – [동작] – [새 명령 생성] – [새 명령 추가] – [태그 값 설정] – [태그] – [Gas Peddle], 누를 때 : true, 놓을 때 : false

[자동차] – [위치] – [X] : Gauge 태그 연결

  1. 이제 모든 태그가 지정되고 동작 버튼이 올바르게 설정되었으므로, 버튼 태그가 있는 화살표를 다른 화살표 위로 이동시키고, 사진 순서를 변경하여 맨 앞으로 가져옵니다.

  2. 순간 값 버튼을 화살표 위에 올려놓은 후 불투명도를 0.01로 변경합니다. 또한 순서를 변경하여 앞쪽으로 가져옵니다.

  3. 원형 게이지를 선택하고 최대 값을 950 또는 게이지에 표시할 값으로 변경합니다.

프로젝트 실행

  1. [도구] > **[시뮬레이터 실행]**을 클릭하여 캔버스 시뮬레이터를 실행합니다.

  2. 화살표를 길게 누르면, 자동차가 오른쪽으로 이동하고 게이지가 증가하는 것을 관찰합니다. 화살표를 놓으면, 자동차가 왼쪽으로 이동하고 게이지가 감소하는 것을 관찰합니다.