Are you using LERP like in the example events?
LERP will smoothy scale/move/angle things based on the way it is used.
If you wanted to resize something smoothy, you could use something like;
(Let's assume your sprite is 100px wide)
[EVERY TICK]
--- Set width of Sprite to lerp(sprite.width,desired.width,amount)
***Sprite.Width will be the current width of the sprite (in this case 100)
***The desired width would be something greater than 100, say 200
***The amount is a number between 0 and 1.
So your action would look actually like; lerp(sprite.width,200,0.5)
The way lerp "amount" works is imagine 0 is the starting point and 1 is the end point. If you wanted to resize your object by half of the original width to the desired width (in our exmaple here we are using 100 and 200 - but you wanted it to be 150) the amount to lerp by would be 0.5.
If you apply lerp "every tick" it would do the lerp "amount" every tick... so in the first tick if you used 0.5 your sprite would go from 100 to 150, and the next tick it would go from 150 to 175 (because theres 50px left to 200, so it does half of that again).
Once lerp gets "close enough" it will snap to the final point (but it has to be VERY close on the float value - several thousandths of one pixel away).
I hope this explains a bit better how the "smoothness" works.
~Sol