0
インスタンス化のコンパイルエラー
エクリプスで実行できるのを確認して、コンパイルしてテストしてみようと思ったら
src\animation\Animation.java:24: エラー: クラス Characterのコンストラクタ Characterは指定された型に適用できません。
Character cha=new Character();
^
期待値: char
検出値: 引数がありません
理由: 実引数リストと仮引数リストの長さが異なります
src\animation\Animation.java:105: エラー: シンボルを見つけられません
slimeAni=cha.Characters(ac);
^
シンボル: メソッド Characters(AudioClip)
場所: タイプCharacterの変数 cha
src\animation\Animation.java:108: エラー: シンボルを見つけられません
marioxy=cha.mario(left,right,up,down,t);
^
シンボル: メソッド mario(boolean,boolean,boolean,boolean,int)
場所: タイプCharacterの変数 cha
エラー3個
とエラーをいわれました。この1コ目のエラーがなぜでるのかわかりません。
調べると、そのまま引数が違うだとか名前を間違ってると書かれていましたが、Charを引数にはどこにも使っていませんし、名前のミスもないと思います。2,3個目は多分1個目のエラーを直したら消えると思うのですが。。
プログラムは
Animation.java(必要そうな部分。必要なら全文載せます。)
public class Animation extends Applet implements Runnable,KeyListener{
Thread thread=null; //スレッドを作る
Dimension size; //ダブルバッファの準備
Image back;
Graphics buffer;
Character cha=new Character();
boolean left,right,up,down;
Image slime,dirt,grassDirt,mario;
String presskey="";
int key;
int marioxy[]=new int[4];
int x=800,y=470,slimeAni=0;
AudioClip ac;
public void run() {
int t=0;
while(true){
if(t%4==0){
slimeAni=cha.Characters(ac);
x-=5;
}
marioxy=cha.mario(left,right,up,down,t);
key=0;
try{ //作業を0.05秒停止させる
Thread.sleep(50);
t++;
}catch(InterruptedException e){
}
repaint();
}
}
}
Character.java(全文)
package animation;
import java.applet.AudioClip;
public class Character{
int mario[]=new int[4];
int a=0,jumpy=10;
boolean bigger=false,jumpFlag=false;
public int Characters(AudioClip ac){
if(a==2){
a--;
bigger=false;
}else if(a==0){
a++;
bigger=true;
}else if(a==1&&bigger){
a++;
}else if(a==1&&!bigger){
a--;
ac.play();
}
return a;
}
public int[] mario(boolean leht,boolean right,boolean up,boolean down,int t) {
if(up){
jumpFlag=true;
}
if(jumpFlag){
if(t%2==0){
mario[3]-=jumpy;
if(jumpFlag){
jumpy--;
}
if(jumpy==-11){
jumpFlag=false;
jumpy=10;
}
}
}
if(right){//プレーヤーが操作するとき用
mario[1]=0;
mario[2]+=10;
if(mario[0]==0){
mario[0]++;
}else{
mario[0]--;
}
}if (leht){
mario[2]-=10;
mario[1]=1;
if(mario[0]==0){
mario[0]++;
}else{
mario[0]--;
}
}
return mario;
}
}
どなたかエラーの原因がわかる方はいますか?