فهرست منبع

-Integers and Float should interpolate on animation, maybe fixes #1891, please test

Juan Linietsky 10 سال پیش
والد
کامیت
adb709aa91
1فایلهای تغییر یافته به همراه9 افزوده شده و 1 حذف شده
  1. 9 1
      core/variant_op.cpp

+ 9 - 1
core/variant_op.cpp

@@ -3388,7 +3388,15 @@ Variant Variant::iter_get(const Variant& r_iter,bool &r_valid) const {
 void Variant::interpolate(const Variant& a, const Variant& b, float c,Variant &r_dst) {
 
 	if (a.type!=b.type) {
-		r_dst=a;
+		if (a.is_num() && b.is_num()) {
+			//not as efficient but..
+			real_t va=a;
+			real_t vb=b;
+			r_dst=(1.0-c) * va + vb * c;
+
+		} else {
+			r_dst=a;
+		}
 		return;
 	}