There are 2 types of Moves that your Pokemon can learn in Pokemon Emerald: HMs and TMs. However, do note that not all Pokemon can learn all of the abilities. TMs are usually abilities to be used during the battle but HM abilities like ‘Fly’ can be used for exploration and fast traversal around the map. This guide will help you learn everything there is about getting the Fly HM in Pokemon Emerald.
After you beat the Gym Trainer in Petalburg City, you will receive a balance badge and you can proceed toward Route 119. You will have to be careful on the grassy Route 119 as it is riddled with Pokemon waiting to attack a passerby.
Route 119 will lead you up to the Weather Institute where you will encounter Team Magma or Team Aqua. Upon defeating the villainous team and clearing out the building you will progress toward the main villain, May/Brendan. When you finally take down your rival, you will be given HM Fly.
You are not done once you get the Fly HM. While there is a high probability, you will already have a Pokemon capable of learning the new move but in case you do not I will list some of the Pokemon you should keep an eye out for:
This is not a complete list and you might want to check your inventory to see if you already have some other Pokemon not listed here that can use Fly.
You will be able to use Fly in battle but to make use of it outside of battle you need one last thing: A Feather Badge. For that, you will need to get to Fortree City and find your way to the Gym. There, you will find the Gym Trainer, Winona, and upon defeating her, you will receive the Feather Badge. Finally, you can fully utilize the HM Fly in Pokemon Emerald and save a lot of time by using it to travel quickly around the map.