@@ -340,13 +340,13 @@ def scale(self) -> Vec2:
340340 @scale .setter
341341 def scale (self , new_scale : Point2 | AsFloat ):
342342 if isinstance (new_scale , (float , int )):
343- scale_vec2 = Vec2 (new_scale , new_scale )
343+ scale_x = new_scale
344+ scale_y = new_scale
344345
345346 else : # Treat it as some sort of iterable or sequence
346347 # Don't abstract this. Keep it here since it's a hot code path
347348 try :
348349 scale_x , scale_y = new_scale # type / length implicit check
349- scale_vec2 = Vec2 (scale_x , scale_y )
350350 except ValueError :
351351 raise ValueError (
352352 "scale must be a tuple-like object which unpacks to exactly 2 coordinates"
@@ -356,12 +356,14 @@ def scale(self, new_scale: Point2 | AsFloat):
356356 "scale must be a tuple-like object which unpacks to exactly 2 coordinates"
357357 )
358358
359- if scale_vec2 == self ._scale :
359+ old_scale = self ._scale
360+ if scale_x == old_scale [0 ] and scale_y == old_scale [1 ]:
360361 return
361362
362- self ._hit_box .scale = scale_vec2
363- self ._scale = scale_vec2
364- self ._size = self ._texture .size * scale_vec2
363+ new_scale = Vec2 (scale_x , scale_y )
364+ self ._hit_box .scale = new_scale
365+ self ._scale = new_scale
366+ self ._size = self ._texture .size * new_scale
365367
366368 self .update_spatial_hash ()
367369 for sprite_list in self .sprite_lists :
0 commit comments