I am trying to have the player walk up to a certain point, press enter, and a text box will appear. I know how to do the text class and how to display the text
public class TextWorld extends World
{
/**
* Constructor for objects of class MyWorld.
*
*/
public TextWorld()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
super(700, 500, 1);
// Resizing background picture to fit screen
GreenfootImage Bg = new GreenfootImage ("pokemon.png"); //image name and file type. the image must be in the project folder created when started scenario
Bg.scale (getWidth (), getHeight ()); // Can take anyway these 3 lines, if don't want any image/background
setBackground (Bg);
// Creating and adding the text (an object) to the world
addObject (new TextForTest ("Pokemon"), 286, 80); //first number L/R: greater moves it to the right. Second Up or down: greater = down
// Creating and adding the button
PlayButton button = new PlayButton ();
addObject (button, 500, 400);
}
}TextForTest textActor = new TextForTest ("Pokemon");
TriggerText trigger = new TriggerText(textActor);
addObject(trigger, 286, 80);import greenfoot.*;
public class TriggerText extends Actor
{
Actor toShowl;
public TriggerText(Actor actor)
{
toShow = actor;
// set image here or set a default image for the classs
}
public void act()
{
if ( toShow == null ) return; // no actor to show
if ( toShow.getWorld() != null ) return; // actor already in world
if ( ! isTouching(Player.class) ) return; // not touching player
if ( ! Greenfoot.isKeyDown("enter") ) return; // 'enter' key not pressed
getWorld().addObject(toShow, getX(), getY());
getWorld().removeObject(this); // optional
}
}
public class TriggerText extends Actor
{
Actor toShow;
public TriggerText (Actor actor)
{
toShow = actor;
GreenfootImage Bg = new GreenfootImage ("pokemon.png"); //image name and file type. the image must be in the project folder created when started scenario
Bg.scale (getWidth (), getHeight ()); // Can take anyway these 3 lines, if don't want any image/background
setBackground (Bg);
}
/**
* Act - do whatever the TriggerText wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
// (toShow.getWorld () !=null ) return;
if (! Greenfoot.isKeyDown ("enter") ) return;
getWorld ().addObject (toShow, getX (), getY ());
}
}