学習日
8月26日 火曜日
名前
中村 結
✅ 練習問題 4-7-1
let x = 50, y = 0, z = 0;
let dx = 10, dy = 10, dz = 10; // 移動量
function setup() {
createCanvas(400, 400, WEBGL);
frameRate(10);
}
function draw() {
background(200);
rotateY(frameCount * 0.01);
translate(x,y,z);
sphere(40);
y += dy;
if ( y< -160 || 160 < y) // 跳ね返す
dy = -dy;
}📷 実行結果
球が縦に回転しながら移動するようになった。
✅ 練習問題4-7-2
let x = 100, y = 0, z = 0;
let dx = 10, dy = 10, dz = 10; // 移動量
function setup() {
createCanvas(400, 400, WEBGL);
frameRate(10);
}
function draw() {
background(200);
rotateX(frameCount * 0.05);
translate(x, y, z);
sphere(40);
z += dz;
x += dx;
y += dy;
if ( x< -160 || 160 < x) // 跳ね返すx
dx = -dx;
if ( y< -160 || 160 < y) // 跳ね返すy
dy = -dy;
if ( z< -160 || 160 < z) // 跳ね返すz
dz = -dz;
}📷 実行結果
球が縦や横、前や後ろなどの様々な方向に移動するようになった。
まとめ
x 縦
y 横
z 奥行
・if()を使って跳ね返す指示を作ることができる