Hello, I'm developing a fighting game where using an "isKeyDown" method the character of the class "goku1" attacks by changing the shape.
I would like that when executing the command (isKeyDown) just touching the class 2 object called "jiren" the object would change the way it is in the "import_socos" method.
CLASS jiren:
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
Class goku1:
/**
* Write a description of class goku1 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class goku1 extends Actor
{
/**
* Act - do whatever the goku1 wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
movimentar();
socos ();
limite();
}
private void limite(){
if (getX()>1200) setLocation(1200, getY());
if (getX()<20) setLocation(20, getY());
if (getY()<100) setLocation(getX(),100);
if (getY()>500) setLocation(getX(),500);
}
public void socos(){
GreenfootImage image1 = new GreenfootImage("Goku super soco2,1.png");
GreenfootImage image2 = new GreenfootImage("Goku super soco2,2.png");
GreenfootImage image3 = new GreenfootImage("Goku super soco2,3.png");
GreenfootImage image4 = new GreenfootImage("Goku 1,2.png");
GreenfootImage soco1 = new GreenfootImage("Goku soco 1.png");
GreenfootImage soco2 = new GreenfootImage("Goku soco 2.png");
GreenfootImage base1 = new GreenfootImage("Goku 1.png");
GreenfootImage base2 = new GreenfootImage("Goku 1,2.png");
jiren jiren = new jiren();
if(Greenfoot.isKeyDown("d")){
setImage(soco1);
Greenfoot.delay(5);
setImage(soco2);
Greenfoot.delay(5);
setImage(base2);
Greenfoot.playSound("Ataque 02.wav");
}
if(Greenfoot.isKeyDown("f") && Greenfoot.isKeyDown("v")){
setImage("teleporte1.png");
Greenfoot.delay(4);
setImage("teleporte2.png");
Greenfoot.delay(4);
setImage("teleporte3.png");
Greenfoot.delay(4);
setImage("teleporte4.png");
Greenfoot.delay(4);
Greenfoot.playSound("Teletransporte - 01.wav");
setLocation(200, 500);
setImage("teleporte3.png");
Greenfoot.delay(4);
setImage("teleporte2.png");
Greenfoot.delay(4);
setImage("teleporte1.png");
Greenfoot.delay(4);
setImage("k1.png");
Greenfoot.delay(4);
setImage("k2.png");
Greenfoot.delay(4);
Greenfoot.playSound("Poder - Eyebeam_fire.wav");
MyWorld cenario = (MyWorld) getWorld ();
cenario.addObject(new energia(), getX() + 200, getY()) ;
}
if(Greenfoot.isKeyDown("q")){
jiren = new jiren();
setImage(image1);
Greenfoot.delay(5);
setImage(image2);
Greenfoot.delay(5);
setImage(image3);
Greenfoot.delay(5);
setImage(base2);
Greenfoot.playSound ("Ataque 01.wav");
}
if(Greenfoot.isKeyDown("e")){
setImage("chute1,1.png");
Greenfoot.delay(5);
setImage("chute1,2.png");
Greenfoot.delay(5);
setImage("chute1,3.png");
Greenfoot.delay(5);
Greenfoot.playSound ("Ataque 02.wav");
}
if(Greenfoot.isKeyDown("a")){
setImage("chute2,1.png");
Greenfoot.delay(5);
setImage("chute2,2.png");
Greenfoot.delay(5);
setImage("chute2,3.png");
Greenfoot.delay(5);
setImage("chute2,4.png");
Greenfoot.delay(5);
setImage("chute2,5.png");
Greenfoot.delay(5);
Greenfoot.playSound("Ataque 02.wav");
}
if(Greenfoot.isKeyDown("c")){
setImage(base2);
Greenfoot.delay(5);
}
}
private void movimentar(){
GreenfootImage image1 = new GreenfootImage("Goku super soco2,1.png");
GreenfootImage image2 = new GreenfootImage("Goku super soco2,2.png");
GreenfootImage image3 = new GreenfootImage("Goku super soco2,3.png");
GreenfootImage image4 = new GreenfootImage("Goku 1,2.png");
GreenfootImage soco1 = new GreenfootImage("Goku soco 1.png");
GreenfootImage soco2 = new GreenfootImage("Goku soco 2.png");
GreenfootImage base1 = new GreenfootImage("Goku 1.png");
GreenfootImage base2 = new GreenfootImage("Goku 1,2.png");
if(Greenfoot.isKeyDown("left")){
setLocation(getX() -10, getY());
setImage("Goku 2 left.png");
}
else{
setImage(base1);
}
if(Greenfoot.isKeyDown("right")){
setLocation(getX() +10, getY());
setImage("Goku 2 right left.png");
}
if(Greenfoot.isKeyDown("up")){
setImage("Goku cima.png");
setLocation(getX() , getY() -20);
}
if(Greenfoot.isKeyDown("down")){
setImage("Goku baixo.png");
setLocation(getX() , getY() +20);
}
}
}
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class jiren here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class jiren extends Actor
{
/**
* Act - do whatever the jiren wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
apanhar ();
limite();
importa_socos();
}
public void importa_socos(){
if(isTouching(goku1.class)){
setImage("jirenap1.png");
Greenfoot.delay(3);
setImage("jirenbase2.png");
Greenfoot.delay(3);
setImage("jirenap1.png");
Greenfoot.delay(3);
setImage("jirenap1.png");
Greenfoot.delay(3);
setImage("jirenap1.png");
Greenfoot.delay(3);
setImage("jirenbase2.png");
Greenfoot.delay(3);
setImage("jirenap1.png");
Greenfoot.delay(3);
setImage("jirenap1.png");
Greenfoot.delay(3);
}
}
private void limite (){
if (getX()>1200) setLocation(1200, getY());
if (getX()<20) setLocation(20, getY());
if (getY()<100) setLocation(getX(),100);
if (getY()>520) setLocation(getX(),520);
}
public void apanhar(){
if(isTouching(energia.class)){
removeTouching(energia.class);
Greenfoot.playSound("Explosão - Golpe na Parede.wav");
Greenfoot.delay(1);
setImage("jirenap1.png");
Greenfoot.delay(3);
setLocation(getX(), getY() +20);
setImage("jirenap2.png");
Greenfoot.delay(3);
setImage("jirenap3.png");
Greenfoot.delay(30);
setImage("Jirenteleporte1.png");
Greenfoot.delay(3);
Greenfoot.playSound("Teletransporte - 01.wav");
setImage("Jirenteleporte2.png");
Greenfoot.delay(3);
}
else{
setImage("jirenbase2.png");
}
}
}
