week02-1
程式碼:///week02-1
size(400,400);//ok 視窗大小400*400
background(255);//ok 白色背景
fill(238);//填充的色彩
noStroke();//不要畫框線
rect(0,0,20,20);//四邊形rectangle x,y,z
rect(0,40,20,20);
rect(0,80,20,20);
week02-2
程式碼://week02-2_for_for_if
size(400,400);
background(255);
fill(238);
noStroke();
float s=400/14;//每個格子的大小
for(int i=0;i<14;i++){//左手i對應y座標
for(int j=0;j<14;j++){//右手j對應x座標
//rect(0,i*s*2,s,s);//先試一下位置
if((i+j)%2==0) rect(j*s,i*s,s,s);
}//下面才是真的程式碼,完成畫格子的任務
}
week02-3
程式碼://week02-3_void _setup_void_draw
void setup(){//一開始設定1次(貼上剛剛week02-2的程式)
size(400,400);
background(255);
fill(238);
noStroke();
float s=400/14;//計算每個格子的大小
for(int i=0;i<14;i++){//左手i對應y座標
for(int j=0;j<14;j++){//右手j對應x座標
//rect(0,i*s*2,s,s);//先試一下位置
if((i+j)%2==0)rect(j*s,i*s,s,s);//
}//下面才是真正的程式碼
}
}
void draw(){//每秒畫60次
stroke(255,0,0);//紅色的線
if(mousePressed) line(mouseX,mouseY,pmouseX,pmouseY);
}//如果mouse按下去,就畫線,給兩個座標:現在的mouse和之前的mouse
week02-4
程式碼:
//week02-4_PImage_loadImage_background_fill_println
//新的開始,要描圖
PImage img;
void setup(){
size(400,400);
img=loadImage("cute.png");
}//記得把圖檔,(像上周一樣)拉到程式碼裡
void draw(){
fill(255,mouseX);
background(img);//半透明的色彩,白色,alpha值是128
println(mouseX);//把mouseX的值,下面「小黑」印出來
rect(0,0,400,400);//畫超大的四邊形,全部蓋住
}
week02-5-a
程式碼:
//week02-5a_combine_02-4_and_02-3_bad
//要描圖,卻出錯
PImage img;
void setup(){
size(400,400);
img=loadImage("cute.png");
}//記得把圖檔,(像上周一樣)拉到程式裡
void draw(){
background(img);
fill(255,mouseX);//半透明的色彩 白色,alpha值是128
println(mouseX);
rect(0,0,400,400);//畫超大的四邊形,全部蓋住
//上面是week02-4,下面week02-3 但線卻無法上去
stroke(255,0,0);//紅色的線
if(mousePressed) line(mouseX,mouseY,pmouseX,pmouseY);
}
week02-5
程式碼:
//week02-5_ArrayList_Integer_new_for_size_get_add_mouseDragged
//要利用資料結構,把歷史軌跡 記起來
ArrayList<Integer>x=new ArrayList<Integer>();//新建資料結構
ArrayList<Integer>y=new ArrayList<Integer>();
PImage img;
void setup(){
size(400,400);
img=loadImage("cute.png");
}//記得把圖檔,(像上周一樣)拉到程式碼裡
void draw(){
fill(255,mouseX);//半透明的色彩 白色,alpha值是128
background(img);
rect(0,0,400,400);//畫超大的四邊形,全部蓋住
//上面是week02-4,下面用迴圈,從資料結構取出來
for(int i=1;i<x.size();i++){
line(x.get(i),y.get(i),x.get(i-1),y.get(i-1));
}
}
void mouseDragged(){
x.add(mouseX);
y.add(mouseY);
}
week02-6
程式碼:
//week02-6_ArrayList_ArrayList_Integer_for_for_mousePressed_new_add
//想要有很多段,不要一職換 「一筆畫」一直接著畫
ArrayList<Integer> x,y;
ArrayList<ArrayList<Integer>> xx=new ArrayList<ArrayList<Integer>>();
ArrayList<ArrayList<Integer>> yy=new ArrayList<ArrayList<Integer>>();
PImage img;
void setup(){
size(400,400);
img=loadImage("cute.png");
}
void draw(){
background(img);
fill(255,200);//半透明色的色彩 白色,alpha值是128
rect(0,0,400,400);//畫超大的四邊形,全部蓋住
for(int I=0;I<xx.size();I++){
ArrayList<Integer> x=xx.get(I); //大寫I對應大的資料結構
ArrayList<Integer> y=yy.get(I);//取出裡面的小的資料結構
for(int i=1;i<x.size();i++){//小的,在照舊畫
line(x.get(i),y.get(i),x.get(i-1),y.get(i-1));
}
}
}
void mouseDragged(){
x.add(mouseX);
y.add(mouseY);
}
void mousePressed(){//滑鼠按下去時,建「新的」資料結構
x=new ArrayList<Integer>();xx.add(x);
y=new ArrayList<Integer>();yy.add(y);
}
week02-7
程式碼:
//week02-7
//想要有很多段,不要一職換 (一筆畫)一直接著畫
ArrayList<Integer> x,y;
ArrayList<ArrayList<Integer>> xx=new ArrayList<ArrayList<Integer>>();
ArrayList<ArrayList<Integer>> yy=new ArrayList<ArrayList<Integer>>();
PImage img;
void setup(){
size(400,400);
img=loadImage("cute.png");
}
void draw(){
background(img);
fill(255,200);
rect(0,0,400,400);
for(int I=0;I<xx.size();I++){
ArrayList<Integer> x=xx.get(I);
ArrayList<Integer> y=yy.get(I);
for(int i=1;i<x.size();i++){
line(x.get(i),y.get(i),x.get(i-1),y.get(i-1));
}
}
}
void keyPressed(){
if(key=='s' || key=='S'){
for(int I=0;I<xx.size();I++){
ArrayList<Integer> x=xx.get(I);
ArrayList<Integer> y=yy.get(I);
println("beginShape():");
for(int i=1;i<x.size();i++){
println("vertex("+x.get(i)+","+y.get(i)+");");
}
println("endShape():");
}
}
}
void mouseDragged(){
println("vertex("+mouseX+","+mouseY+");");
x.add(mouseX);
y.add(mouseY);
}
void mousePressed(){
x=new ArrayList<Integer>();xx.add(x);
y=new ArrayList<Integer>();yy.add(y);
}
w
沒有留言:
張貼留言