Processing學習

“Processing 是一個開放原始碼的程序語言及開發(fā)環(huán)境,提供給那些想要對影像、動畫、聲音進行程序編輯的工作者。此外,學生、藝術(shù)家、設(shè)計師、建筑師、研究員以及有興趣的人,也可以用來學習,開發(fā)原型及制作?!?/i>

工作太忙,停止Processing學習太久,重新復習下筆記,再次開始。Processing中文教材不多,推薦一本入門級教材《Processing互動編程藝術(shù)》,邊學邊Processing.org熟悉語法和例子。

基本圖形:

point(x1,y1)

line(x1,y1,x2,y2)

triangle(x1,y1,x2,y2,x3,y3)

quad(x1,y1,x2,y2,x3,y3,x4,y4)

rect(x,y,width,height,r,tl,tr,br,bl)

ellipse(x,y,width,height)

arc(x,y,width,height,start,stop),arc(x,y,width,height,radians(45),radians(225));

填充和描邊:

fill() 填充顏色,noFill()禁用填充顏色

stroke()描邊顏色,noStroke()禁用描邊

strokeWeight() ?定義畫筆粗細

strokeJoin()定義線與線之間的連接模式(銜接角的形狀): strokeJoin(ROUND)圓形轉(zhuǎn)角,strokeJoin(BEVEL)錐形轉(zhuǎn)角

rectMode(),http://processing.org/reference/rectMode_.html

ellipseMode(),

strokeCap()定義線的起始與終止的畫法:strokeCap(SQUARE)方頭線,strokeCap(ROUND)圓頭線

顏色以及透明度:

background(r,g,b,alpha)、fill(r,g,b,alpha)、stroke(r,g,b,alpha)描邊顏色

自定義圖形:

beginShape() 開始自定義圖形,endShape()結(jié)束圖形定義,endShape(CLOSE)閉合圖形

vertex()定義點坐標

基本語法:

while

while(條件式){

繪制函數(shù);//符合條件,程序繼續(xù)循環(huán)執(zhí)行括號內(nèi)指令并計數(shù),不符合條件則停止

計數(shù)器;

}

if

if(條件判斷){

//滿足的話,則執(zhí)行此區(qū)域代碼

}

if(條件判斷){

//滿足的話,則執(zhí)行此區(qū)域代碼

}else{

//不滿足的話,則執(zhí)行此區(qū)域代碼

}

if(條件判斷){

//滿足的話,則執(zhí)行此區(qū)域代碼

}else if(條件判斷2){

//滿足條件2的話,則執(zhí)行此區(qū)域代碼

}else{

//都不滿足的話,則執(zhí)行此區(qū)域代碼

}

for-loop

for(init;test;update){

statements

}

for(初始化;條件判斷;更新判斷的數(shù)值){

滿足條件的話,則執(zhí)行此區(qū)域代碼

}


響應:

1、draw()&setup()

2、鼠標響應--鼠標跟隨:mouseX(保存著x軸的值) ?mouseY(保存著y軸的值)

dist(x1,y1,x2,y2);//可用于計算兩點之間距離

3、鼠標響應--連續(xù)作畫:pmouseX和pmouseY存儲著前一幀鼠標的位置

line(mouseX,mouseY,pmouseX,pmouseY); //可連續(xù)劃線

dist(mouseX,mouseY,pmouseX,pmouseY); //可用于計算線條寬度

4、鼠標響應事件mousePressed() ? mouseMoved() ?mouseDragged()

4、鍵盤響應

keyPressed()

if(keyPressed) 中可加入if(keyPressed==‘a(chǎn)’)

if(keyPressed&&(key==CODED)) ?可加入if(keyCode==LEFT)

4、輕隨(easing)

float x;

float easing=0.01;//easing值越小,延遲越大

float diameter=12;

void setup(){

size(220,120);

smooth();

}

void draw(){

float targetX=mouseX;

x+=(targetX-x)*easing;

ellipse(x,50,12,12);

println(targetX+":"+x);

}

5、映射(map)

void setup(){

size(240,120);

strokeWeight(12);

smooth();

}

void draw(){

background(204);

stroke(255);

line(120,60,mouseX,mouseY);

stroke(0);

float mx=map(mouseX,0,width,60,180);//第一個參數(shù)是一個需要轉(zhuǎn)換的變量,第二和第三個分別是它的最小和最大值,第四和第五個參數(shù)是需要轉(zhuǎn)換到的目的范圍的最小值和最大值。

line(120,60,mx,mouseY);

}

5、點擊(mousePressed) 只有2個值:真和假。鼠標按下為真。

追蹤鼠標哪個鍵:mouseButton==LEFT、CENTER、RIGHT

void setup(){

size(240,120);

strokeWeight(30);

smooth();

}

void draw(){

background(204);

stroke(102);

line(40,0,70,240);

if(mousePressed){

if(mouseButton==LEFT){

stroke(255);

}else{

stroke(0);

}

line(0,70,width,50);

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 來源: http://www.douban.com/group/topic/14820131/ 調(diào)整變量格式: f...
    MC1229閱讀 7,135評論 0 5
  • (轉(zhuǎn)自http://www.douban.com/group/topic/14820131/,轉(zhuǎn)自人大論壇) 調(diào)整...
    f382b3d9bdb3閱讀 10,983評論 0 8
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,921評論 0 33
  • 轉(zhuǎn)載請聲明 原文鏈接 關(guān)注公眾號獲取更多資訊 這篇文章主要總結(jié)H5的一些新增的功能以及一些基礎(chǔ)歸納,這里只是一個提...
    前端進階之旅閱讀 9,221評論 22 225
  • 老李有五個兒子,一個女兒,都早已各自成家,離開老李。好在距離都不是很遠,老二的家與他只有一墻之隔,老大和老三與他也...
    苔上雪你不再閱讀 1,011評論 0 2

友情鏈接更多精彩內(nèi)容