//week04_1__PShape_loadShape_shape
size(500, 500);
PShape taiwan = loadShape("taiwan.svg"); //本周
PShape taiwan2 = loadShape("Taiwan-icon.svg");
shape(taiwan);
shape(taiwan2);
//week04_2__pushMatrix_scale_popMatrix
size(500, 500);
PShape taiwan2 = loadShape("taiwan.svg"); //本周
PShape taiwan = loadShape("Taiwan-icon.svg");
pushMatrix();
scale(10);
shape(taiwan);
popMatrix();
pushMatrix();
scale(0.5);
shape(taiwan2);
popMatrix();
//week04_3__void_setup_void_draw_void_wheelMouse
PShape taiwan2, taiwan; //宣告變數
void setup() {
size(500, 500);
taiwan2 = loadShape("taiwan.svg"); //本周
taiwan = loadShape("Taiwan-icon.svg");
}
float taiwanScale = 1;
void draw() {
background(#92CF25);
pushMatrix();
scale(10*taiwanScale);
shape(taiwan);
popMatrix();
pushMatrix();
scale(0.5*taiwanScale);
shape(taiwan2);
popMatrix();
}
void mouseWheel(MouseEvent e) {//mouseWheel 是mouse的滾輪
float d = e.getCount();
if (d>0) taiwanScale *=1.1;
else taiwanScale *=0.9;
}
//week04_4_world_svg_flaot_s_scale_void_mouseWheel
PShape world;
void setup() {
size(800, 400);
world = loadShape("world.svg");
}
float s = 0.4;
void draw() {
background(#92C2F5);
scale(s);// 改用變數s 初始值為0.4
shape(world);
}
void mouseWheel(MouseEvent e) {
if (e.getCount()>0) s *= 1.1;
else s *=0.9;
}
//week04_5_float_x_y_translate_x_y_void_mouseDragged
PShape world;
void setup() {
size(800, 400);
world = loadShape("world.svg");
}
float s = 0.4, x =0, y=0;
void draw() {
background(#92C2F5);
translate(x, y);
scale(s);// 改用變數s 初始值為0.4
shape(world);
}
void mouseDragged() {
x += mouseX-pmouseX;
y += mouseY-pmouseY;
}
void mouseWheel(MouseEvent e) {
if (e.getCount()>0) s *= 1.1;
else s *=0.9;
}
//week04_6_better_scale
PShape world;
void setup() {
size(800, 400);
world = loadShape("world.svg");
}
float s = 0.4, x =0, y=0;
float realX = 0, realY = 0;
void draw() {
background(#92C2F5);
translate(x, y);
scale(s);// 改用變數s 初始值為0.4
shape(world);
ellipse(realX, realY, 10, 10);
}
void mouseDragged() {
x += mouseX-pmouseX;
y += mouseY-pmouseY;
}
void mouseWheel(MouseEvent e) {
realX = (mouseX -x)/s; //地圖上,真的座標
realY = (mouseY -y)/s;//地圖上,真的座標
float oldS = s;
if (e.getCount()>0) s *= 1.1;
else s *=0.9;
x = x+ realX*oldS - realX*s;
y = y+ realY*oldS - realY*s;
}
可以定點放大位置
//week04_7_carrot01_background_stroke_fill_ellipse
size(600,500);
background(0);
stroke(255);
fill(0);
ellipse(50,50,100,100);
// week04_8_carrot02_void_setup_void_draw_void_mouseDragged
void setup() {
size(600, 500);
background(0); //黑畫1次
stroke(255);
fill(0);
}
void draw() {
// ellipse(mouseX,mouseY,100,100);
}
void mousePressed() {
ellipse(mouseX, mouseY, 100, 100);
// week04_9_carrot03_float_s_mouseButton_LEFT_RIGHT
void setup() {
size(600, 500);
background(0); //黑畫1次
stroke(255);
fill(0);
}
void draw() {
// ellipse(mouseX,mouseY,100,100);
}
float s =25;
void mousePressed() {
ellipse(mouseX, mouseY, s, s);
if (mouseButton==LEFT) s *=1.1;
if (mouseButton==RIGHT) s*=0.9;
}
//week_04_a_carrot04_float_t_cos_t_sin_t
void setup() {
size(600, 500);
background(0); //黑畫1次
stroke(255);
fill(0);
}
void draw() {
// ellipse(mouseX,mouseY,100,100);
}
float s =25 ,t =0;
void mousePressed() {
ellipse(300+200*cos(t), 250+200*sin(t), s, s);
t +=0.06;
if (mouseButton==LEFT) s *=1.1;
if (mouseButton==RIGHT) s*=0.9;
}
沒有留言:
張貼留言