public GraphicSet() {
}
public BufferedImage mapUnitGraSet(int num) {
BufferedImage gra=null;
String fileName="";
try {
if (num<=1) {
fileName="mapUnit1.gif";//いちいちinputStream…のくだりを書かなくてもいいように、
gra=gSet(fileName);//ファイル名だけ関数に放り込んだら結果を戻すように作り替える。
}
}catch(Exception ex){
ex.printStackTrace();
JOptionPane.showMessageDialog(this, "ERROR : " + ex.toString());
}
return gra;
}
public BufferedImage gSet(String fileName) throws IOException {//ファイル名を受け取ったら
InputStream isbufImg=this.getClass().getResourceAsStream(fileName);//それを読み込む関数。
BufferedImage bufImg=ImageIO.read(isbufImg);
isbufImg.close();
return bufImg;
}
private int shift=0;
private int speedMax=8;
private boolean[] keyPressTbl=null;
//速度
private double vx=0;
private double vy=0;
//実座標
private double x=0;
private double y=0;
private int[] mapSize=null;
public BufferedImage gra=null;
public GraphicSet gSet=null;
public PlayerPlatform() {
init();
}
public void init() {
x=0;
y=0;
vx=0;
vy=0;
shift=0;
mapSize=new int[3];
mapSize[0]=800;
mapSize[1]=608;
mapSize[0]=0;v
gSet=new GraphicSet();
}
public void graSet() {//ARPanelから呼び出し。pPlatformのgraにプレイヤーの絵をセットする。
gra=gSet.mapUnitGraSet(0);//今後、プレイヤー絵の描画はpPlatform.graを使って表示する。
}
//プレイヤーの絵の座標を決める。ARPanelから入力
public void setXY(int stx,int sty) {
x=stx;
y=sty;
}
//マップサイズを入力。これがないと画面端を計算できない。
public void setMapSize(int stx,int sty) {
mapSize[0]=stx;
mapSize[1]=sty;
}
//ここら辺の処理はARPanelのものをそのまま移行した物が大半。
mx,myという変数名はvx,vyに変更した。
public void keyCheck(boolean[] kPTbl) {
keyPressTbl=kPTbl;
//keyCheckはARPanelから利用される。
//その際にARPanelで拾ったキーボードの状態を引数として渡して置く事。
//これをやらないとキーを押しても全く反映されなくなる。
if(isKeyCodePressed(KeyEvent.VK_UP)){
shift=8;
vy--;
}
if(isKeyCodePressed(KeyEvent.VK_DOWN)){
shift=2;
vy++;
}
v
if(isKeyCodePressed(KeyEvent.VK_LEFT)){
shift=4;
vx--;
}
if(isKeyCodePressed(KeyEvent.VK_RIGHT)){
shift=6;
vx++;
}
}
//現時点ではmove関数は使っていない。
//次の段階でこっちの数値を拾って描画に反映させる。
public void move(GameData gData) {
x = x + vx;
y +=vy;
if(x < 0){
x = 0;
vx = 0;
//マップサイズからはみ出てないかチェック。
//ARPanelの時は this.getWidth() を使っていたが、
//こちらのクラスではあらかじめマップサイズを渡しておき、それを参照する。
}else if(x > mapSize[0] - 32){
x = mapSize[0] - 32;
vx = 0;
}
if (y < 0) {
y=0;
vy=0;
} else if (y > mapSize[1]-32){v
y= mapSize[1]-32;
vy=0;
}