Oh man. I was worried this may happen. I really hope this explanation doesn’t become really long winded.
The game I am working on is an RPG and I have two separate worlds right now, one to contain movement on the field and another for where the battles occur. When a variable called battleSteps, which decreases whenever the Player is moving, reaches zero, it loads the battle world. In the battle world I have 2 primary classes. I of course have the world itself, but I also have a class called BattleMenu that not only stores all information about the enemies and then relays them to the BattleScreen world but also contains all the graphics for it, including the text and the menu itself.
When battlesSteps reaches 0 it calls the static function beginBattle which is stored inside the class BattleMenu. When this is called a random enemy is chosen based on which area the player is in and then is stored in 1-3 variables located in there as well, those being enemy1, enemy2, and enemy3. After that it calls the function updateEnemies which tells the BattleScreen world to add graphics for all the enemies that were called for by the beginBattle function.
I hope that answers your question.