package rol; import java.awt.Color; import java.awt.Graphics; import com.sun.javafx.tk.Toolkit; import com.sun.prism.Image; //<applet code="ren11.class" width="400" height= "400"></applet> /** *プレイヤークラス<p> *移動処理、描画処理など */ public class Player extends GameObject { double speed; Image img; Toolkit toolkit; /** * コンストラクタ * @param ix 生成先のx座標 * @param iy 生成先のy座標 * @param ispeed 移動スピード */ Player(double ix, double iy, double ispeed) { x = ix; y = iy; speed = ispeed; active = false; } /** * ダミー関数<p> * (引数がスーパークラスのアブストラクト・メソッドの定義と異なるため) */ public void move() { } /** * 移動処理 * @param mx x方向の入力(-1 ... +1) * @param my y方向の入力(-1 ... +1) */ public void move(int mx, int my) { //Canvasの外には移動できないようにする double postX = x + mx * speed; double postY = y + my * speed; if ((0 < postX)&&(postX < 580)) { x = postX; } if ((0 < postY)&&(postY < 550)) { y = postY; } } //描画処理 public void draw(Graphics g) { if(active){ g.setColor(Color.gray); //横 g.drawLine((int)x, (int)y-14, (int)x, (int)y-17); g.drawLine((int)x, (int)y-16, (int)x-5, (int)y-16); g.drawLine((int)x, (int)y-16, (int)x+5, (int)y-16); g.drawLine((int)(x),(int)(y-14),(int)(x+2),(int)(y-14)); g.drawLine((int)(x),(int)(y-14),(int)(x-2),(int)(y-14)); //縦 g.drawLine((int)(x-2),(int)(y-14),(int)(x-3),(int)(y-9)); g.drawLine((int)(x+2),(int)(y-14),(int)(x+3),(int)(y-9)); //横 g.drawLine((int)(x+3),(int)(y-9),(int)(x-3),(int)(y-9)); g.fillRect((int)(x-2),(int)(y-14),(int)5,(int)1); g.fillRect((int)(x-3),(int)(y-14),(int)7,(int)5); g.setColor(Color.green); //胴体 g.drawLine((int)(x+3),(int)(y-9),(int)(x+3),(int)(y-7)); g.drawLine((int)(x-3),(int)(y-9),(int)(x-3),(int)(y-7)); g.drawLine((int)(x+3),(int)(y-7),(int)(x+4),(int)(y-5)); g.drawLine((int)(x-3),(int)(y-7),(int)(x-4),(int)(y-5)); g.drawLine((int)(x+4),(int)(y-5),(int)(x+4),(int)(y)); g.drawLine((int)(x-4),(int)(y-5),(int)(x-4),(int)(y)); g.drawLine((int)(x+4),(int)(y),(int)(x+3),(int)(y+7)); g.drawLine((int)(x-4),(int)(y),(int)(x-3),(int)(y+7)); g.drawLine((int)(x-3),(int)(y+7),(int)(x-3),(int)(y+10)); g.drawLine((int)(x+3),(int)(y+7),(int)(x+3),(int)(y+10)); g.drawLine((int)(x+3),(int)(y+10),(int)(x+2),(int)(y+15)); g.drawLine((int)(x-3),(int)(y+10),(int)(x-2),(int)(y+15)); g.drawLine((int)(x+2),(int)(y+13),(int)(x+1),(int)(y+20)); g.drawLine((int)(x-2),(int)(y+13),(int)(x-1),(int)(y+20)); g.drawLine((int)(x-1),(int)(y+20),(int)(x),(int)(y+25)); g.drawLine((int)(x+1),(int)(y+20),(int)(x),(int)(y+25)); //尾 g.drawLine((int)(x),(int)(y+25),(int)(x+5),(int)(y+25)); g.drawLine((int)(x),(int)(y+25),(int)(x-5),(int)(y+25)); g.drawLine((int)(x+5),(int)(y+25),(int)(x+8),(int)(y+24)); g.drawLine((int)(x-5),(int)(y+25),(int)(x-8),(int)(y+24)); g.drawLine((int)(x-8),(int)(y+24),(int)(x-9),(int)(y+23)); g.drawLine((int)(x+8),(int)(y+24),(int)(x+9),(int)(y+23)); g.drawLine((int)(x-9),(int)(y+23),(int)(x-10),(int)(y+23)); g.drawLine((int)(x+9),(int)(y+23),(int)(x+10),(int)(y+23)); g.drawLine((int)(x-10),(int)(y+23),(int)(x-10),(int)(y+21)); g.drawLine((int)(x+10),(int)(y+23),(int)(x+10),(int)(y+21)); g.drawLine((int)(x+10),(int)(y+21),(int)(x+8),(int)(y+21)); g.drawLine((int)(x-10),(int)(y+21),(int)(x-8),(int)(y+21)); g.drawLine((int)(x+8),(int)(y+21),(int)(x+5),(int)(y+20)); g.drawLine((int)(x-8),(int)(y+21),(int)(x-5),(int)(y+20)); g.drawLine((int)(x+5),(int)(y+20),(int)(x+3),(int)(y+20)); g.drawLine((int)(x-5),(int)(y+20),(int)(x-3),(int)(y+20)); //翼 g.drawLine((int)(x-5),(int)(y-8),(int)(x-10),(int)(y-7)); g.drawLine((int)(x+5),(int)(y-8),(int)(x+10),(int)(y-7)); //翼 前 横 g.drawLine((int)(x-10),(int)(y-7),(int)(x-23),(int)(y-7)); g.drawLine((int)(x+10),(int)(y-7),(int)(x+23),(int)(y-7)); g.fillRect((int)x-23,(int)y-7,15,7); g.fillRect((int)x+10,(int)y-7,15,7); //翼 横 g.drawLine((int)(x-23),(int)(y-7),(int)(x-24),(int)(y-6)); g.drawLine((int)(x+23),(int)(y-7),(int)(x+24),(int)(y-6)); g.drawLine((int)(x-24),(int)(y-6),(int)(x-24),(int)(y+1)); g.drawLine((int)(x+24),(int)(y-6),(int)(x+24),(int)(y+1)); //翼 後 横 g.drawLine((int)(x+24),(int)(y+1),(int)(x+23),(int)(y+1)); g.drawLine((int)(x-24),(int)(y+1),(int)(x-23),(int)(y+1)); g.drawLine((int)(x+24),(int)(y+1),(int)(x+8),(int)(y+1)); g.drawLine((int)(x-24),(int)(y+1),(int)(x-8),(int)(y+1)); g.setColor(Color.red); g.fillRect((int)x-1,(int)y-9,4,8); } } }
上のプログラムは、drawLineを使っているのですが、javaアプリケーションとアプレットではプログラムの形式が変わると聞きました。しかし、javaアプリケーションでgetImageやdrawImageをどう入力していいのか、調べてみたのですがよくわかりません。
img1=getImage(getDocumentBase();
これをjavaアプリケーション風にするには何かをつけたせばいいんでしょうか
それとも、形式自体が違うのでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/14 14:00 編集
2017/01/14 14:31