컨텐츠로 건너뛰기

게이지 예제

예제 : 원형 게이지 사용

게이지 구성

  1. 3개의 태그를 생성합니다. 태그 이름은 각각 " Gas Peddle", "Gauge", "button"입니다. 데이터 유형은 " Gas Peddle "은 BOOL, "Gauge"는 INT(INT 16), "button"은 **REAL(FLOAT)**로 구성됩니다.

  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. 스크립트 편집기에서 "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. 스크립트 편집기에서 "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. [도구] – **[시뮬레이터 실행]**을 클릭하여 캔버스 시뮬레이터를 실행합니다.

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