// week02_1_fill_noStroke_rect
size(400,400); //視窗大小400*400 background(255); fill(238); //填充的色彩 noStroke(); //不要畫框線 rect(0,0,20,20); //四邊形 rectangle x,y,w,h rect (0,40,20,20); rect(0,80,20,20);
// week02_2_for_for_if_rect size(400,400); //視窗大小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_void_setup_void_draw_stroke_if_mousePressed_line void setup(){ //一開始,設定一次(貼上剛剛week02 2的程式) size(400,400); //視窗大小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_PImage_loadImage_background_fill_println // 新的開始, 要描圖 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_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,200); //半透明的色彩 白色, alpha值是128 rect(0,0,400,400); //畫超大的四邊形,全部蓋住 stroke(255,0,0); //紅色的線 if(mousePressed) line(mouseX,mouseY,pmouseX,pmouseY); }// week02_5_ArrayList_Integer_new_for_size_get_addmouseDragged // 要利用資料結構, 把歷史軌跡 記起來 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(){ background(img); fill(255,200); //半透明的色彩 白色, alpha值是128 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_ArrayList_Interger_for_for_mouse // 想要有更多段, 不要[一筆畫] 一直接著畫 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); //畫超大的四邊形,全部蓋住 // 上面是week02_4 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 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_ ArrayList<Integer> x, y; // 先有2個(還沒準備好)的(小的)資造結構,等mousePressed再新增準備 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);//畫超大的四邊形,全部蓋住 //上面是week02-4, 下面用迴圈,從資料結構取出來 for(int I=0; I<xx.size(); I++){//大寫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'){//如果按下英文的小寫or大寫s想save存檔的話 for(int I=0; I<xx.size(); I++){//大寫I對應大的資料結構 ArrayList<Integer> x = xx.get(I);//取出裡面的小的資料結構 ArrayList<Integer> y = yy.get(I); println("beginShape();"); //beginShape(); for(int i=1; i<x.size(); i++){//小的,在照舊畫 println("vertex("+ x.get(i) +", " + y.get(i) +");"); }//改在keyPressed()按下s或S時,再全部印! println("endShape();"); //endShape(); } } } void mouseDragged(){ //println("vertex(mouseX, mouseY);"); 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); }








沒有留言:
張貼留言