今天的課程第一步是教我們如何用Processing寫出字母,其實不難
textSize(40);
text("Hello
World",30,30);
這兩行比較重要,一行用來調整字體大小一行用來確定要印出的內容,可是這樣不能完全顯示,改正後:
新增了textAlign(LEFT,TOP);
X可填入LEFT, CENTER或RIGHT,Y可填入TOP,
CENTER 或BOTTOM這樣就會有不同的顯示效果。但是要注意似乎位置是反著來的。
餐前甜點過後就是主菜,今天要料理的是矩陣,這個觀念從大一就有了,要把它引入圖學:
這樣就可以畫出簡易的西洋棋盤
程式碼如下:
int[][]A=
{
{1,0,1,0},
{0,1,0,1},
{1,0,1,0},
{0,1,0,1}
};
size(400,400);
for(int
i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(A[i][j]==0)fill(0);
else fill(255,255,255);
rect(j*100,i*100,100,100);
}
}
下面我們將普通的棋盤色塊替換為圖像:
這樣就可以讓🌽和川普同志一起出現了
單獨的顯示功能不夠,我們可以讓他們互相翻牌,看看誰先把誰變沒:
程式碼如下,主要是增加了以下內容改變了陣列:
void mousePressed()
{
int i=int(mouseY/100);
int j=int(mouseX/100);
A[i][j]=0;
}
最終程式碼為:
int[][]A=
{
{1,1,1,0},
{1,1,0,2},
{1,0,2,2},
{0,2,2,2}
};
PImage trump,corn;
void mousePressed()
{
int i=int(mouseY/100);
int j=int(mouseX/100);
A[i][j]=0;
}
void setup()
{
size(400,400);
trump=loadImage("trump.jpg");
corn=loadImage("corn.png");
}
void draw()
{
background(0);
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(A[i][j]==1)image(trump,j*100,i*100,100,100);
if(A[i][j]==2)image(corn,j*100,i*100,100,100);
}
}
}





沒有留言:
張貼留言