Guide by Pvic
Import sprite spr_sonic_bubble: https://cdn.discordapp.com/attachments/403203277568606219/408329128018706432/spr_sonic_bubble_strip5.png
Make it's offset 32 x and 37 y
Make obj_bubble_switch give it the sprite spr_switch Create
image_speed=0;alarm 0
image_index=0;Step:
if distance_to_object(obj_hover_bubble)>64 && image_index==1{instance_create(x,y-20,obj_hover_bubble)}Collision with par_player
if other.ai_flag==false{image_index=1alarm[0]=30;}` make object obj_hover_bubble make it parent obj_control create
activated=falseDestroy
global.main_player.visible=true;Step
if activated==true{//Animation inside bubbleif global.main_player.animation!="spring_fall"{global.main_player.animation="spring_fall"}//If the player is hurt or dead destroyif global.main_player.action==ConActHurt ||global.main_player.action==ConActDead{instance_destroy()}else{global.main_player.shield=4}//Make the player invisibleglobal.main_player.visible=false//Change spriteif global.main_player.character==ConCharSonic{sprite_index=spr_sonic_bubble}//Make the player in the same position as the bubbleglobal.main_player.x=x;global.main_player.y=y;//Make the player not moveglobal.main_player.speed_x=0;global.main_player.speed_y=0;//Destroy over waterif global.main_player.underwater==false{instance_destroy()}//If the player jumps, destroy bubbleif global.main_player.key_action_pressed{instance_destroy();}//Move Leftif global.main_player.key_left_pressed{hspeed=-2}if global.main_player.key_left_released{hspeed=0}//Move Rightif global.main_player.key_right_pressed{hspeed=2}if global.main_player.key_right_released{hspeed=0}//Move Downif global.main_player.key_down_pressed{vspeed=2}if global.main_player.key_down_released{vspeed=0}//Move Upif global.main_player.key_up_pressed{vspeed=-2}if global.main_player.key_up_released{vspeed=0}}Collision with par_player
if other.ai_flag==false && activated==false{activated=trueother.action=ConActSpring}Collision with par_hurt, par_enemy and par_terrain:
instance_destroy().