だから私は高校のオンラインJavaクラスを取っていますが、私の先生は役に立ちません...だから私たちは抽象化について学んでいて、私は動く私の「エイリアン」クラスですでにこれをやっていました。 2つの画像を切り替えることで逆方向に進む別のもの...しかし、例でコードを示したとき、それは複雑すぎるように見え、何かが足りないのではないかと思っていました。
マイコード
private String avatarRight = "Alien.png";
private String avatarLeft = "Alien1.png";
/**
* Act - do whatever the Alien wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
movement(avatarRight, avatarLeft);
gatherPart();
}
(移動メソッドを含むスーパークラス)
/**
* Sets up the movement keys and facing for the Object
*/
public void movement(String avatarRight,String avatarLeft)
{
if (atWorldEdge() == false)
{
if (Greenfoot.isKeyDown("w"))
{
setLocation(getX(), getY()-2);
}
if (Greenfoot.isKeyDown("d"))
{
setImage(avatarRight);
setLocation(getX()+2, getY());
}
if (Greenfoot.isKeyDown("s"))
{
setLocation(getX(), getY()+2);
}
if (Greenfoot.isKeyDown("a"))
{
setImage(avatarLeft);
setLocation(getX()-2, getY());
}
}
else
{
}
}
彼らのコード
{
private GreenfootImage image1;
private GreenfootImage image2;
private boolean isKeyDown;
private String key;
private String sound;
/**
* Create a Duke and initialize his two images. Link Duke to a specific keyboard
* key and sound.
*/
public Duke(String keyName, String soundFile)
{
key = keyName;
sound = soundFile
image1 = new GreenfootImage("Duke.png")
image3 = new GreenfootImage("duke2.png")
setImage(image1);
}
}
avatarRight = "この画像"
彼らは言う key = keyname
キー = 「キー」
編集:それで、それをセットアップする方法と私が最初にセットアップした方法は
private int rotation;
public Capsule(int rot)
{
rotation = rot
setRotation(rotation);
}
しかし、私が知る限り、以下のものは完全にうまく機能します。以下のコードではなく上記のコードを実行する理由はありますか
public Capsule(int rot)
{
setRotation(rot);
}