【利用Processing】
*小畫家優化*
*試著做出小遊戲*
*上貼圖囉*
1.更改顏色及粗度,並使用滑鼠更改
程式碼:
void setup(){ //初始化
size(800,600); //視窗為長800、寬600
colorMode(HSB,100); //色彩函數,H:色相、S:飽和度、B:亮度
}
void draw(){ //畫出一條線
line(mouseX,mouseY,pmouseX,pmouseY);
}
void mousePressed(){ //當滑鼠按下去,改變粗度
if(mouseX<100){ //當滑鼠X軸小於100
strokeWeight(mouseY/50); //改變筆刷粗度
}
if(mouseX>700){ //改變筆刷顏色
stroke(mouseY/6.0,100,100); //(H,S,B)
}
}
size(800,600); //視窗為長800、寬600
colorMode(HSB,100); //色彩函數,H:色相、S:飽和度、B:亮度
}
void draw(){ //畫出一條線
line(mouseX,mouseY,pmouseX,pmouseY);
}
void mousePressed(){ //當滑鼠按下去,改變粗度
if(mouseX<100){ //當滑鼠X軸小於100
strokeWeight(mouseY/50); //改變筆刷粗度
}
if(mouseX>700){ //改變筆刷顏色
stroke(mouseY/6.0,100,100); //(H,S,B)
}
}
2.調整小畫家版面
程式碼:
vod setup(){
size(800,600);
rect(width-100,0,width,height);
rect(0,0,100,height);
colorMode(HSB,100);
}
void draw(){
if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY);
}
void mouseDragged(){ //滑鼠拖曳
if(mouseX<100){
strokeWeight(mouseY/50);
}
if(mouseX>width-100){ //當X軸座標大於視窗寬度-100
stroke(mouseY/6.0,100,100); //根據Y軸座標除6=100
}
}
3.色彩
程式碼:
noStroke();
colorMode(HSB,100);
for(int i=0;i<100;i++)
{
for(int j=0;j<100;j++)
{
stroke(i,100,100);
point(i,j);
}
}
4.小遊戲
程式碼:
void setup(){
size(720,720,P2D);
}
float pX=-100,pY=-100,r=100;
void draw(){
ellipse(pX,pY,r,r);
if(r>3){
r-=10;
pX+=13;
}
}
void mousePressed(){
pX=mouseX;pY=mouseY;r=100;
}
5.OpenProcessing程式碼
程式碼:
int c = 255;
float angle = 0;
void setup() {
size(500, 500);
noStroke();
}
void draw() {
background(0);
translate(width / 2, height / 2);
c = 255;
float rSub = map(mouseX, 0, width, 5, 20);
float aAdd = map(mouseY, 0, height, PI / 2.0, PI / 48.0);
cic(width / 2, rSub, angle, aAdd);
angle += PI / 23.0;
}
void cic(float radius, float rSub, float angle, float aAdd) {
pushMatrix();
do {
fill(c);
c = 255 - c;
ellipse(0, 0, radius * 2, radius * 2);
radius -= rSub;
angle += aAdd;
float r = rSub * 0.6;
float x = cos(angle + aAdd) * r;
float y = sin(angle + aAdd) * r;
translate(x, y);
} while(radius >= 1);
popMatrix();
}
6-1.貼圖片
程式碼:
size(800,600); //視窗大小
background(200,100,0); //背景顏色(RGB)
PImage img=loadImage("00.jpg"); //將圖片丟入OpenProcessing內,讀取圖片名稱
image (img,0,0,500,500); //圖片顯示大小
6-2.貼圖片,一個跟著滑鼠移動
程式碼:
PImage img1,img2;
void setup(){
size(500,500);
img1=loadImage("00.jpg");
img2=loadImage("000.jpg");
}
void draw(){
background(0,255,0);
image(img1,mouseX,mouseY,100,100);
image(img2,200,200,100,100);
}
7.小遊戲2.0
程式碼:
void setup(){
size(720,720,P2D); //P2D是2D平面的意思,P3D是3D立體的意思
}
void draw(){
}
void mouseDragged(){ //滑鼠拖曳
ellipse(mouseX,mouseY,100,100); //畫圓圈
}
沒有留言:
張貼留言