Smooth Second - GTR Mini - Watch face editor for Amazfit watch on ZeppOS by SashaCX75
Posted: 15 Oct 2024, 21:18
I made a watch face that changes the colors of the clock hands (Hour-Minute-Second), when I run pack watch face analog pro without checking the Smooth second hand option, the second hand changes color, when I run pack watch face analog pro By checking the Smooth second hand option, the second hand does not change color.
Could someone explain to me why?
Could someone explain to me why?
Code: Select all
user script:
let backnumber_main = 1
let totalback_main = 3
function click_Back() {
if(backnumber_main>=totalback_main) {
backnumber_main=1;
}
else {
backnumber_main=backnumber_main+1;
}
normal_stress_icon_img.setProperty(hmUI.prop.SRC, "back" + parseInt(backnumber_main) + ".png");
normal_analog_clock_pro_hour_pointer_img.setProperty(hmUI.prop.SRC, "hor" + parseInt(backnumber_main) + ".png");
normal_analog_clock_pro_minute_pointer_img.setProperty(hmUI.prop.SRC, "min" + parseInt(backnumber_main) + ".png");
normal_analog_clock_pro_second_pointer_img.setProperty(hmUI.prop.SRC, "sec" + parseInt(backnumber_main) + ".png");
}
index.js
/*
** Watch_Face_Editor tool
** watchface js version v2.1.1
** Copyright © SashaCX75. All Rights Reserved
*/
try {
(() => {
//start of ignored block
const __$$app$$__ = __$$hmAppManager$$__.currentApp;
function getApp() {
return __$$app$$__.app;
}
function getCurrentPage() {
return __$$app$$__.current && __$$app$$__.current.module;
}
const __$$module$$__ = __$$app$$__.current;
const h = new DeviceRuntimeCore.WidgetFactory(new DeviceRuntimeCore.HmDomApi(__$$app$$__, __$$module$$__));
const {px} = __$$app$$__.__globals__;
const logger = Logger.getLogger('watchface_SashaCX75');
//end of ignored block
//dynamic modify start
console.log('user_functions.js');
// start user_functions.js
let backnumber_main = 1
let totalback_main = 6
function click_Back() {
if(backnumber_main>=totalback_main) {
backnumber_main=1;
}
else {
backnumber_main=backnumber_main+1;
}
normal_stress_icon_img.setProperty(hmUI.prop.SRC, "back" + parseInt(backnumber_main) + ".png");
normal_analog_clock_pro_hour_pointer_img.setProperty(hmUI.prop.SRC, "hor" + parseInt(backnumber_main) + ".png");
normal_analog_clock_pro_minute_pointer_img.setProperty(hmUI.prop.SRC, "min" + parseInt(backnumber_main) + ".png");
normal_analog_clock_pro_second_pointer_img.setProperty(hmUI.prop.SRC, "sec" + parseInt(backnumber_main) + ".png");
}
// end user_functions.js
let normal_background_bg_img = ''
let normal_stress_icon_img = ''
let normal_image_img = ''
let normal_analog_clock_pro_minute_pointer_img = ''
let normal_timerUpdateSec = undefined;
let normal_analog_clock_pro_hour_pointer_img = ''
let normal_analog_clock_time_pointer_smooth_second = ''
let Button_1 = ''
let timeSensor = ''
//dynamic modify end
__$$module$$__.module = DeviceRuntimeCore.WatchFace({
init_view() {
//dynamic modify start
console.log('Watch_Face.ScreenNormal');
normal_background_bg_img = hmUI.createWidget(hmUI.widget.IMG, {
x: 0,
y: 0,
w: 416,
h: 416,
src: 'back.png',
show_level: hmUI.show_level.ONLY_NORMAL,
});
normal_stress_icon_img = hmUI.createWidget(hmUI.widget.IMG, {
x: 0,
y: 0,
src: 'back1.png',
show_level: hmUI.show_level.ONLY_NORMAL,
});
normal_image_img = hmUI.createWidget(hmUI.widget.IMG, {
x: 0,
y: 0,
src: 'img.png',
show_level: hmUI.show_level.ONLY_NORMAL,
});
const deviceInfo = hmSetting.getDeviceInfo();
let screenType = hmSetting.getScreenType();
if (!timeSensor) timeSensor = hmSensor.createSensor(hmSensor.id.TIME);
// normal_analog_clock_pro_minute_pointer_img = hmUI.createWidget(hmUI.widget.TIME_POINTER_PRO, {
// src: 'min1.png',
// center_x: 207,
// center_y: 207,
// x: 6,
// y: 207,
// start_angle: 0,
// end_angle: 360,
// type: hmUI.data_type.minute,
// show_level: hmUI.show_level.ONLY_NORMAL,
// });
normal_analog_clock_pro_minute_pointer_img = hmUI.createWidget(hmUI.widget.IMG, {
x: 0,
y: 0,
w: deviceInfo.width,
h: deviceInfo.height,
pos_x: 207 - 6,
pos_y: 207 - 207,
center_x: 207,
center_y: 207,
src: 'min1.png',
angle: 0,
show_level: hmUI.show_level.ONLY_NORMAL,
});
timeSensor.addEventListener(timeSensor.event.MINUTEEND, function() {
let updateHour = timeSensor.minute == 0;
time_update(updateHour, true);
});
// normal_analog_clock_pro_hour_pointer_img = hmUI.createWidget(hmUI.widget.TIME_POINTER_PRO, {
// src: 'hor1.png',
// center_x: 207,
// center_y: 207,
// x: 6,
// y: 207,
// start_angle: 0,
// end_angle: 360,
// type: hmUI.data_type.hour,
// show_level: hmUI.show_level.ONLY_NORMAL,
// });
normal_analog_clock_pro_hour_pointer_img = hmUI.createWidget(hmUI.widget.IMG, {
x: 0,
y: 0,
w: deviceInfo.width,
h: deviceInfo.height,
pos_x: 207 - 6,
pos_y: 207 - 207,
center_x: 207,
center_y: 207,
src: 'hor1.png',
angle: 0,
show_level: hmUI.show_level.ONLY_NORMAL,
});
// normal_analog_clock_pro_second_pointer_img = hmUI.createWidget(hmUI.widget.TIME_POINTER_PRO, {
// src: 'sec1.png',
// center_x: 207,
// center_y: 207,
// x: 19,
// y: 207,
// start_angle: 0,
// end_angle: 360,
// type: hmUI.data_type.second,
// show_level: hmUI.show_level.ONLY_NORMAL,
// });
normal_analog_clock_time_pointer_smooth_second = hmUI.createWidget(hmUI.widget.TIME_POINTER, {
second_path: 'sec1.png',
second_centerX: 207,
second_centerY: 207,
second_posX: 19,
second_posY: 207,
fresh_frequency: 15,
fresh_freqency: 15,
show_level: hmUI.show_level.ONLY_NORMAL,
});
// normal_analog_clock_pro_smooth_second = hmUI.createWidget(hmUI.widget.SMOOTH_SECOND, {
// type: 3,
// fps: 15,
// show_level: hmUI.show_level.ONLY_NORMAL,
// });
console.log('Watch_Face.Buttons');
Button_1 = hmUI.createWidget(hmUI.widget.BUTTON, {
x: 160,
y: 163,
w: 100,
h: 84,
text: '',
color: 0xFFFF8C00,
text_size: 25,
press_src: 'empty.png',
normal_src: 'empty.png',
click_func: (button_widget) => {
click_Color()
}, // end func
show_level: hmUI.show_level.ONLY_NORMAL,
}); // end button
//start of ignored block
function time_update(updateHour = false, updateMinute = false) {
console.log('time_update()');
let hour = timeSensor.hour;
let minute = timeSensor.minute;
let second = timeSensor.second;
let format_hour = timeSensor.format_hour;
if (updateMinute) {
let normal_fullAngle_minute = 360;
let normal_angle_minute = 0 + normal_fullAngle_minute*(minute + second/60)/60;
if (normal_analog_clock_pro_minute_pointer_img) normal_analog_clock_pro_minute_pointer_img.setProperty(hmUI.prop.ANGLE, normal_angle_minute);
};
if (updateHour) {
let normal_hour = hour;
let normal_fullAngle_hour = 360;
if (normal_hour > 11) normal_hour -= 12;
let normal_angle_hour = 0 + normal_fullAngle_hour*normal_hour/12 + (normal_fullAngle_hour/12)*minute/60;
if (normal_analog_clock_pro_hour_pointer_img) normal_analog_clock_pro_hour_pointer_img.setProperty(hmUI.prop.ANGLE, normal_angle_hour);
};
};
//end of ignored block
const widgetDelegate = hmUI.createWidget(hmUI.widget.WIDGET_DELEGATE, {
resume_call: (function () {
console.log('resume_call()');
time_update(true, true);
if (screenType == hmSetting.screen_type.WATCHFACE) {
if (!normal_timerUpdateSec) {
let animDelay = timeSensor.utc % 1000;
let animRepeat = 1000;
normal_timerUpdateSec = timer.createTimer(animDelay, animRepeat, (function (option) {
time_update(false, true);
})); // end timer
}; // end timer check
}; // end screenType
}),
pause_call: (function () {
console.log('pause_call()');
if (normal_timerUpdateSec) {
timer.stopTimer(normal_timerUpdateSec);
normal_timerUpdateSec = undefined;
}
}),
});
//dynamic modify end
},
onInit() {
logger.log('index page.js on init invoke');
},
build() {
this.init_view();
logger.log('index page.js on ready invoke');
},
onDestroy() {
logger.log('index page.js on destroy invoke');
}
});
;
})();
} catch (e) {
console.log('Mini Program Error', e);
e && e.stack && e.stack.split(/\n/).forEach(i => console.log('error stack', i));
;
}