動く円 (左右に動く)に、もう1つ円 (上下に動く)物を
新たに 作りました。
動く物って やっぱり楽しいね。
ボーッと見てしまうよ。
⭐️ 2つの円が動く
//◯動く方向を変えてみよう
//◯方向の変数を作ろう
//上下方向に動く球を新たに作ろう
import java.awt.*;
import java.awt.event.*;
class Main3{
public static void main(String[] args){
MyWindow mw = new MyWindow();
Thread th = new Thread(mw);
th.start();
}
}
class MyWindow extends Frame implements Runnable {
int cx1 = 0;
int cy1 = 200;
int dire1 = 1; //1 右方向 2 左方向
int cx2 = 200;
int cy2 = 0;
int dire2 = 3; //3 下方向 4 上方向
MyWindow(){
setTitle("2つの円を動かす");
setSize(600, 400);
setVisible(true);
addWindowListener( new WinListener() );
}
public void run() {
while(true) {
switch(dire1) { //左右に動く球の方向転換
case 1:
cx1 = cx1 + 2;
if(cx1>600) dire1 = 2; //左方向に転換
break;
case 2:
cx1 = cx1 - 2;
if(cx1<0) dire1 = 1; //右方向に転換
break;
}
switch(dire2) { //上下に動く球の方向転換
case 3:
cy2 = cy2 + 2;
if(cy2>400) dire2 = 4; //上方向に転換
break;
case 4:
cy2 = cy2 - 2;
if(cy2<0) dire2 = 3; //下方向に転換
break;
}
repaint();
try{ Thread.sleep(15); } catch(InterruptedException e) {}
}
}
public void paint(Graphics g) {
g.setColor(Color.LIGHT_GRAY);
g.fillRect(0, 0, 600, 400);
g.setColor(Color.GREEN);
g.fillOval(cx1-30, cy1-30, 60, 60);
g.setColor(Color.PINK);
g.fillOval(cx2-30, cy2-30, 60, 60);
}
}
class WinListener extends WindowAdapter{
public void windowClosing(WindowEvent e){ System.exit(0); }
}
(↑難易度 高め)
今日の教訓
楽しいぞ〜〜〜
0 件のコメント:
コメントを投稿