게이지 예제
예제 : 원형 게이지 사용
게이지 구성
- 3개의 태그를 생성합니다. 태그 이름은 각각 " Gas Peddle", "Gauge", "button"입니다. 데이터 유형은 " Gas Peddle "은 BOOL, "Gauge"는 INT(INT 16), "button"은 **REAL(FLOAT)**로 구성됩니다.
- 스크립트 편집기에서 "Gauge"라는 이름의 스크립트를 만듭니다. 실행 타입을 정주기로 설정합니다. 실행 주기는 변경하지 않습니다.
-
- 다음 명령을 “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
}
- 스크립트 편집기에서 "Speed Gauge"라는 다른 스크립트를 추가합니다. 실행 타입을 정주기로 설정합니다. 실행 주기는 변경하지 않습니다.
- 다음 명령을 “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)
}
- 스크립트 편집기에서 "Speed Gauge 1"이라는 다른 스크립트를 추가합니다. 실행 타입을 정주기로 설정합니다. 실행 주기는 변경하지 않습니다.
- 다음 명령을 “Speed Gauge 1” 스크립트에 붙여 넣습니다
while (1) {
if (tag.read("Gas Peddle")){
tag.write("Gauge", tag.read("Gauge") + 1);
}
thread.msleep(50)
}
- 이 명령은 다음 섹션의 객체에 사용됩니다. 화살표를 길게 누르면 차량이 오른쪽으로 이동하며 게이지도 움직이며, 화살표에서 마우스를 놓으면 차량이 왼쪽으로 이동하는 동시에 게이지도 원상태로 돌아옵니다.
- 벡터 리소스 라이브러리 화살표 2개, 순간 값 버튼, 리소스 라이브러리의 자동차, 마지막으로 원형 게이지 등 5개의 오브젝트를 화면에 만듭니다.
- 아래 이미지를 따라 이전에 만든 태그가 올바른 개체에 있는지, 동작 버튼이 올바르게 설정되어 있는지 확인합니다.
[원형 게이지] – [값] : Gauge 태그 연결
[파란색 화살표] - [형태 창] - [투명도] : button 태그 연결
[순간 값 버튼] – [기본 속성] – [태그] : button 태그 연결
[순간 값 버튼] – [동작] – [누를 때, 놓을 때] – [동작] – [새 명령 생성] – [새 명령 추가] – [태그 값 설정] – [태그] – [Gas Peddle], 누를 때 : true, 놓을 때 : false
[자동차] – [변형] – [X] : Gauge 태그 연결
-
이제 모든 태그가 지정되고 '동작 버튼'이 올바르게 설정되었으므로, '버튼' 태그가 있는 화살표를 다른 화살표 위로 이동시키고, 사진 순서를 변경하여 맨 앞으로 가져옵니다.
-
"순시 값 버튼"을 화살표 위에 올려놓은 후 불투명도를 0.01로 변경합니다. 또한 순서를 변경하여 앞쪽으로 가져옵니다.
-
"원형 게이지"를 선택하고 최대 값을 950 또는 게이지에 표시할 값으로 변경합니다.
게이지 동작
- [도구] – **[시뮬레이터 실행]**을 클릭하여 캔버스 시뮬레이터를 실행합니다.
- 화살표를 길게 누르면, 자동차가 오른쪽으로 이동하고 게이지가 증가하는 것을 관찰합니다. 화살표를 놓으면, 자동차가 왼쪽으로 이동하고 게이지가 감소하는 것을 관찰합니다.