uint32_t time = HALTick::GetInstance().GetElapseTime(startTime_);
float x0 = startPos_;
float x1 = 1.0 * labelWidth_ - textWidth_;
-
+#if 0
float factor = 1000; // 1000: slow down the speed
float v = speed_ / factor;
v = x1 - x0 > 0 ? v : -v;
} else {
x = -v * (t - t1) + x1;
}
-
+#else
+ float factor = 200000; // slow down the speed
+ float t = time * speed_ / factor;
+ float t1 = 1.0;
+ float period = 2.0;
+ while (t < 0) {
+ t += period;
+ }
+ while (t > period) {
+ t -= period;
+ }
+ float x = 0;
+ if (t >=0 && t < t1) {
+ x = (x1 - x0) * t / t1 + x0;
+ } else {
+ x = (x0 - x1) * (t - t1) / t1 + x1;
+ }
+#endif
UILabel *label = dynamic_cast<UILabel*>(view);
if (label != nullptr) {