2020年11月16日 星期一

week02 鄭皓文

          上星期我們學了如何用P語言畫出基本圖形,這星期我們要讓自己的程式有互動功能。

        因為3.5.4自帶簡體中文我就可以省去漢化這一步驟直接開始了,先試試看改變畫板背景顏色的程式:

這樣就可以畫出我們想要的背景色了,程式碼如下:

size(500,500);

background(#00B9FF);

stroke(255,0,0);

fill(255,255,0);

rect(100,100,300,300); 

接下來的任務是寫出一個點擊後會變色的程式:

我打算給他取名為原諒變色模擬器

每次點擊滑鼠我們的視窗就會變色,不得不說這個的寫法好像和java有點相似,程式碼如下: 

void setup()

{

  size(500,500);

}

void draw()

{

  if(mousePressed)background(255,0,255);

  else background(0,255,0);

}

   單單變色一個功能也算不上是互動,畢竟幾十年前的類比電路pc就可以通過指令顯示1/0了,所以我們要讓他擁有小畫家的功能,可以畫出我們想要的圖形:

是挺強的

程式碼如下:

void setup()

{

  size(500,500);

}

void draw()

{

  if(mousePressed)

  {

    line(mouseX,mouseY,pmouseX,pmouseY);

  }

}    

    只能畫黑線的小畫家確實太單調了些,我們要給他加上調色盤,最好還能儲存並控制線的粗細,經過試驗:

草,有現代藝術那味了

程式碼如下:

void setup()

{

  size(600,500);

  fill(#ff0000); rect(0,0, 100,100);

  fill(#ffff00); rect(0,100, 100,100);

  fill(#00ff00); rect(0,200, 100,100);

  fill(#0000ff); rect(0,300, 100,100);

  fill(#ff00ff); rect(0,400, 100,100);

  strokeWeight(5);

}

void keyPressed()

{

  save("NEWBEE.png");

}

void draw()

{

  if(mousePressed && mouseX <100 )

  {

    if(mouseY<100) stroke(#ff0000);

    else if(mouseY<200) stroke(#ffff00);

    else if(mouseY<300) stroke(#00ff00);

    else if(mouseY<400) stroke(#0000ff);

    else if(mouseY<500) stroke(#ff00ff);

  }

  else if(mousePressed && mouseX >100 )

  {

    line(mouseX,mouseY, pmouseX,pmouseY);

  }

}

    今天的課程主要就是學習如何自己寫出一個功能還比較全面的小畫家,不過要是可以自己調色的話就比現在這個只能選限定色的程式強多了,下個星期我就應該會在防疫旅館裡面上課了,希望一切順利。






沒有留言:

張貼留言