how do i make text appear on world when i see a certain person within the game and how do i make it when ever i press enter the text continues on with whatever it has to say ? thanks
import greenfoot.*;
public class Dialog extends Actor
{
private String[] dialog;
public Dialog(String[] spokenLines)
{
dialog = spokenLines;
}
protected void addedToWorld(World world)
{
for (int i=0; i<dialog.length; i++)
{
dialog[i] += "\n\npress 'enter' to proceed";
GreenfootImage image = new GreenfootImage(dialog[i], 20, null, java.awt.Color.white);
image.drawRect(0, 0, image.getWidth()-1, image.getHeight()-1);
setImage(image);
while (!"enter".equals(Greenfoot.getKey())) Greenfoot.delay(1);
}
world.removeObject(this);
}
}String[] expressions = new String[]
{
"Man 1: Hey, there. Are you heading up that there road?",
"Man 2: As a matter of fact, yes. Why?",
"Man 1: You may want to find another way 'round.\nRumor has it, zombies be up there!",
"Man 2: Well, thanks very much. I appreciate the heads up."
};
getWorld().addObject(new Dialog(expressions), getX(), getY()-70);
getWorld().addObject(new Dialog(expressions), getWorld().getWidth()/2, getWorld().getHeight()/2);
// add instance field
private boolean dialogShown;
// the 'if'
if ( ! dialogShown)
{
// second code-set above here
dialogShown = true;
}if (dialogs[dialogNumber] != null) // if nullifying by using 'dialogs[dialogNumber] = null;'
// or
if (dialogs[dialogNumber].length > 0) // if emptying by using 'dialogs[dialogNumber] = new String[] {};'GreenfootImage image0 = new GreenfootImage("boom1.png");
GreenfootImage image1 = new GreenfootImage("boom2.png");
GreenfootImage image2 = new GreenfootImage("boom3.png");
GreenfootImage image3 = new GreenfootImage("boom4.png");
GreenfootImage image4 = new GreenfootImage("boom5.png");
GreenfootImage image5 = new GreenfootImage("boom6.png");
GreenfootImage image6 = new GreenfootImage("boom7.png");
GreenfootImage image7 = new GreenfootImage("boom8.png");
GreenfootImage image8 = new GreenfootImage("boom9.png");
GreenfootImage image9 = new GreenfootImage("boom10.png");
GreenfootImage image10 = new GreenfootImage("boom11.png");
GreenfootImage image11 = new GreenfootImage("boom12.png");
GreenfootImage image12 = new GreenfootImage("boom13.png");
public void act()
{
test();
}
public void test()
{
if(Greenfoot.isKeyDown("H"))
{
setImage(image1);
if(getImage() == image1)
setImage(image2);
else if(getImage() == image2)
setImage(image3);
else if(getImage() == image3)
setImage(image4);
else if(getImage() == image4)
setImage(image5);
else if(getImage() == image5)
setImage(image6);
else if(getImage() == image6)
setImage(image7);
else if(getImage() == image7)
setImage(image8);
else if(getImage() == image8)
setImage(image9);
else if(getImage() == image9)
setImage(image10);
else if(getImage() == image10)
setImage(image11);
else if(getImage() == image11)
setImage(image12);
}
}import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class MainPlayer here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Player extends Players
{
//images for animation
GreenfootImage WalkBack = new GreenfootImage("WalkBack.png");
GreenfootImage WalkDown = new GreenfootImage("WalkDown.png");
GreenfootImage WalkLeft = new GreenfootImage("WalkLeft.png");
GreenfootImage WalkRight = new GreenfootImage("WalkRight.png");
private boolean spaceDown;
private boolean ZDown;
public int health = 6;
public int power = 0;
GreenfootImage image0 = new GreenfootImage("boom1.png");
GreenfootImage image1 = new GreenfootImage("boom2.png");
GreenfootImage image2 = new GreenfootImage("boom3.png");
GreenfootImage image3 = new GreenfootImage("boom4.png");
GreenfootImage image4 = new GreenfootImage("boom5.png");
GreenfootImage image5 = new GreenfootImage("boom6.png");
GreenfootImage image6 = new GreenfootImage("boom7.png");
GreenfootImage image7 = new GreenfootImage("boom8.png");
GreenfootImage image8 = new GreenfootImage("boom9.png");
GreenfootImage image9 = new GreenfootImage("boom10.png");
GreenfootImage image10 = new GreenfootImage("boom11.png");
GreenfootImage image11 = new GreenfootImage("boom12.png");
GreenfootImage image12 = new GreenfootImage("boom13.png");
public void act()
{
move();
attack1();
attack2();
die();
removeHearts();
pauseScreen();
test();
addPower();
checkPower();
//act method does whatever the Actor wants to do. This method is called whenever the
//act or run button gets pressed in the enviroment
}
public void move()
{
int x = getX();
int y = getY();
//moving
if(Greenfoot.isKeyDown("up"))
{
setLocation(getX(), getY()-2);
setImage(WalkBack);
if ( isTouching(Walls.class) )
{
setLocation(getX(), getY()+2);
//checks walls
}
if(canSee(Enemy1.class))
{
setLocation(getX(), getY()+10);
health--;
removeHearts();
}
}
if(Greenfoot.isKeyDown("down"))
{
setLocation(getX(), getY()+2);
setImage(WalkDown);
if ( isTouching(Walls.class) )
{
setLocation(getX(), getY()-2);
//checks walls
}
if(canSee(Enemy1.class))
{
setLocation(getX(), getY()-10);
health--;
removeHearts();
}
}
if(Greenfoot.isKeyDown("left"))
{
setLocation(getX()-2, getY());
setImage(WalkLeft);
if ( isTouching(Walls.class) )
{
setLocation(getX()+2, getY());
//checks walls
}
if(canSee(Enemy1.class))
{
setLocation(getX()+10, getY());
health--;
removeHearts();
}
}
if(Greenfoot.isKeyDown("right"))
{
setLocation(getX()+2, getY());
setImage(WalkRight);
if ( isTouching(Walls.class) )
{
setLocation(getX()-2, getY());
//checks walls
}
if(canSee(Enemy1.class))
{
setLocation(getX()-10, getY());
health--;
removeHearts();
}
}
//moving
}
public void attack1()
{
//attacking the enemy
if (spaceDown != Greenfoot.isKeyDown("space"))
{
spaceDown = ! spaceDown;
if (spaceDown)
{
Attack1 attack1 = new Attack1();
getWorld().addObject(attack1, getX()+1, getY());
if(getImage() == WalkLeft)
{
attack1.setRotation(180);
}
if(getImage() == WalkRight)
{
attack1.setRotation(0);
}
if(getImage() == WalkBack)
{
attack1.setRotation(270);
}
if(getImage() == WalkDown)
{
attack1.setRotation(90);
}
}
}
}
public void attack2()
{
if (ZDown != Greenfoot.isKeyDown("Z"))
{
ZDown = ! ZDown;
if(ZDown)
{
Attack2 attack2 = new Attack2();
getWorld().addObject(attack2, getX(), getY());
}
}
}
public void die()
{
if(health <= 0)
{
Lose lose = new Lose();
getWorld().removeObjects(getWorld().getObjects(Heart.class));
getWorld().addObject(lose, 140, 140);
}
}
public void removeHearts()
{
if(health == 5)
{
getWorld().removeObjects(getWorld().getObjects(Heart6.class));
}else if(health == 4)
{
getWorld().removeObjects(getWorld().getObjects(Heart5.class));
}else if(health == 3)
{
getWorld().removeObjects(getWorld().getObjects(Heart4.class));
}else if(health == 2)
{
getWorld().removeObjects(getWorld().getObjects(Heart3.class));
}else if(health == 1)
{
getWorld().removeObjects(getWorld().getObjects(Heart2.class));
}else if(health <= 0)
{
die();
}
}
public void pauseScreen()
{
if(Greenfoot.isKeyDown("escape"))
{
Pause pause = new Pause();
getWorld().addObject(pause, 140, 140);
Greenfoot.stop();
}
}
public void addPower()
{
if(canSee(PowerUp1.class))
{
power = power + 1;
getWorld().removeObjects(getWorld().getObjects(PowerUp1.class));
}
if(canSee(PowerUp2.class))
{
power = power + 1;
getWorld().removeObjects(getWorld().getObjects(PowerUp2.class));
}
if(canSee(PowerUp3.class))
{
power = power + 1;
getWorld().removeObjects(getWorld().getObjects(PowerUp3.class));
}
if(canSee(PowerUp4.class))
{
power = power + 1;
getWorld().removeObjects(getWorld().getObjects(PowerUp4.class));
}
if(canSee(PowerUp5.class))
{
power = power + 1;
getWorld().removeObjects(getWorld().getObjects(PowerUp5.class));
}
if(canSee(PowerUp6.class))
{
power = power + 1;
getWorld().removeObjects(getWorld().getObjects(PowerUp6.class));
}
}
public void checkPower()
{
if(power == 1)
{
PowerUp1 power1 = new PowerUp1();
getWorld().addObject(power1, 180, 15);
}
else if(power == 2)
{
PowerUp2 power2 = new PowerUp2();
getWorld().addObject(power2, 198, 15);
}
else if(power ==3)
{
PowerUp3 power3 = new PowerUp3();
getWorld().addObject(power3, 215, 15);
}
else if(power == 4)
{
PowerUp4 power4 = new PowerUp4();
getWorld().addObject(power4, 233, 15);
} else if(power == 5)
{
PowerUp5 power5 = new PowerUp5();
getWorld().addObject(power5, 250, 15);
} else if(power == 6)
{
PowerUp6 power6 = new PowerUp6();
getWorld().addObject(power6, 267, 15);
}
}
public void explosion()
{
setImage(image1);
if(getImage() == image1)
setImage(image2);
else if(getImage() == image2)
setImage(image3);
else if(getImage() == image3)
setImage(image4);
else if(getImage() == image4)
setImage(image5);
else if(getImage() == image5)
setImage(image6);
else if(getImage() == image6)
setImage(image7);
else if(getImage() == image7)
setImage(image8);
else if(getImage() == image8)
setImage(image9);
else if(getImage() == image9)
setImage(image10);
else if(getImage() == image10)
setImage(image11);
else if(getImage() == image11)
setImage(image12);
}
public void test()
{
if(canSee(Water.class))
{
explosion();
}
}
public void test()
{
if (exploding)
{ // continue sequence or stop
if (canSee(Water.class)) explosion(); else exploding = false;
}
else if (canSee(Water.class))
{ // start sequence
exploding = true;
setImage(image1);
}
}