I would have done something like this.
VariableStart = 0
VariableA = 0
If SpriteA collides with SpriteB
Then VariableStart = 1
If VariableStart = 1
Every 1.0 seconds VariableA = VariableA +1
Then you could add conditions...
If VariableA => 100
then VariableA = 100
then VariableStart = 0
If VariableStart = 0
then VariableA = 0
Or something like that, but hey i sometimes go the long way around... Not been on C2 for a month or so, so there's probably new and better ways to do this.
You can just change it around to use SpriteWidth = 100 and SpriteHeight = 100 or whatever your size is, then deduct from them.
VARIABLES
SpriteWidth = 100
SpriteHeight = 100
SpriteShrink = 0
EVENTS
Setting the SpriteA Size to the variables
SpriteA width = SpriteWidth
SpriteA height = SpriteHeight
Turning the Variable SpriteShrink to 1 or ON
On Collision SpriteA with SpriteB
SpriteShrink = 1
Every 1 Second Deducting from the Width & Height Variables
If SpriteShrink =1
Every 1.0 Seconds
SpriteWidth = SpriteWidth -1
SpriteHeight = SpriteHeight - 1
Destroying the SpriteA when size is 0 and resseting the SpriteShrink Variable
If SpriteWidth =< 0
SpriteHeight =< 0
Destroy SpriteA
SpriteShrink = 0
It can be used to Rotate, Scale or any other thing you want to do. Hope you understand it... i come from a C++ background years ago so i approach things like this.
You can change the Every 1.0 Seconds to Every 0.01 this will make it go alot faster and last for about 1 Second, But you will need to know your Sprites Width and Height and work it out from there.