This is the way to fly to cities you've been before after you get Fly (HM02) from the girl in house near cycling road in Celadon City.
1)Press Start button
2)Press Bag
3)Go to TMs and HMs
4)Click on HM 02 Fly and click use and then teach it to the Pokemon you wish by clicking it's name and then erasing an existing move and replacing it with Fly.
5)In battle if you use it your Pokemon will Fly up on the first turn and land a hit on the second turn.It will Dodge all move except Earthquake.
6)If you want to use it outside battle press start
7)Select Pokemon
8)Click on the Pokemon's name
9)then it will say Summary,Switch,Fly.
10)Click Fly and then select the location you want to fly to on the map that opens up.
Maneshka
Chat with our AI personalities
go to the in game menu and go to Pokemon click on the Pokemon with fly and chose fly
The 3rd gyms badge will grant you the ability to use Fly outside of battle, the 3rd gym is in vermilion city.
I believe it is the gym in Sunnyshore city, or something like that. Actually it is Veilstone :)
AnswerHM02 - Fly can be found in Cianwood City. Outside of the Cianwood City Gym, there is a woman who will hand you the HM if you talk to her. However, in order to use Fly outside of battle, you will need the Storm Badge from Chuck in the Cianwood City Gym.
You will have to beat the Hearthome city gym leader to use defog outside of battle