How can I make it so that when my actor fires projectiles, the program looks which direction the actor is faceing (left or right), and fires a projectile in that direction.
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Guy here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Guy extends Actor
{
/**
* Act - do whatever the Guy wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
private boolean left = false;
private boolean right = true;
private int delay = 0;
public void act()
{
if(delay > 0){
delay--;
}
movement();
if(delay == 0){
shoot();
}
}
private void movement(){
if(Greenfoot.isKeyDown("left")){
move(-4);
left= true;
right= false;
}
if(Greenfoot.isKeyDown("right")){
move(4);
left= false;
right= true;
}
if(right==true){
setImage(new GreenfootImage("alligator.png"));
}
if(left==true){
setImage(new GreenfootImage("alligator - Copy.png"));
}
}
private void shoot(){
World world= getWorld();
projectile_1 projectile= new projectile_1();
if(Greenfoot.isKeyDown("z")){
getWorld().addObject( projectile,getX(),getY());
delay= 80;
}
}
}
if (left) projectile.turn(180);
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class projectile_1 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class projectile_1 extends Actor
{
/**
* Act - do whatever the projectile_1 wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
World world= getWorld();
public void act()
{
move(2);
if (isAtEdge()){
getWorld().removeObject(this);
}
}
}
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Guy here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Guy extends Actor
{
/**
* Act - do whatever the Guy wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
private boolean left = false;
private int delay = 0;
public void act()
{
if(delay > 0){
delay--;
}
projectile_1 projectile = new projectile_1();
movement();
if(delay == 0){
shoot();
}
}
private void movement(){
if(Greenfoot.isKeyDown("left")){
move(-4);
left= true;
}
if(Greenfoot.isKeyDown("right")){
move(4);
left= false;
}
if(left==false){
projectile_1 projectile = new projectile_1();
setImage(new GreenfootImage("alligator.png"));
projectile.turn(360);
}
if(left==true){
projectile_1 projectile = new projectile_1();
setImage(new GreenfootImage("alligator - Copy.png"));
projectile.turn(180);
}
projectile_1 projectile = new projectile_1();
}
private void shoot(){
World world= getWorld();
projectile_1 projectile= new projectile_1();
if(Greenfoot.isKeyDown("z")){
getWorld().addObject( projectile,getX(),getY());
delay= 80;
}
}
}
private void shoot(){
if (Greenfoot.isKeyDown("z")){
projectile_1 projectile = new projectile_1();
getWorld().addObject(projectile, getX(), getY());
if (left) projectile.turn(180);
delay = 80;
}
}