今天都在講解 期末作業
2021年12月13日 星期一
2021年12月6日 星期一
2021年11月29日 星期一
week10
今天開始不用補課了~然後這是今天的目標
我們的期末規劃的夥伴是游騰翔08161035
大概是要做出這種當年GameBoy神奇寶貝的那種小人,讓他上下左右。
(也可以使用老師裡面的圖片)
這個是所有的2D腳色移動圖片
程式碼:
PImage img;
void setup(){
size(500,500);
img=loadImage("img.jpg");
imageMode(CENTER);
}
int a=0, b=0, x=250, y=250;
void draw(){
background(255);
//image( img, 0,0);
image( img.get(141*a, 211*b, 141,211), x,y);
if(frameCount%30==0) a = (a+1)%4;
}
void keyPressed(){
if(keyCode==RIGHT){ b=3; x++; }
if(keyCode==LEFT) { b=2; x--; }
if(keyCode==UP) { b=1; y--; }
if(keyCode==DOWN){ b=0; y++; }
}
然後就是確認好期末想做什麼
原本要用電子雞的結果被先說走了~所以就跟我夥伴討論好,決定使用旅行青蛙+開心農場
其中一個,或者旅行青蛙會有種菜的元素。
2021年11月22日 星期一
week08
也可以延伸做出兩個下墜的!
程式碼:
//step01-3 很多組咧?
float []x={250,150,350,300};
float []y={0,50,80,100};
float []vx={0,0,0,0};
float []vy={3,2,2.5,4};
void setup()
{
size(500,600);
}
void draw()
{
background(255);
for(int i=0;i<4;i++)
{
ellipse(x[i],y[i],50,50);
y[i]=y[i]+vy[i];
}
}
下面多那兩行 就會讓球球變得很Q彈~可以上下互撞。
continue會讓後面不能移動,所以會整個暫停住!
就像抓蚊子一樣 一抓就死了紅點碰到的東西就會直接死亡 暫停了~
(下方只有一顆沒碰到的黃球在動)
程式碼:
//step01-3 很多組咧?
float []x={250,150,350,300};
float []y={0,50,80,100};
float []vx={0,0,0,0};
float []vy={3,2,2.5,4};
boolean [] dead={false,false,false,false};//false 0,truc 1
void setup()
{
size(500,600);
}
void draw()
{
background(255);
for(int i=0;i<4;i++)
{
fill(255,255,0);ellipse(x[i],y[i],50,50);
if(dist(mouseX,mouseY,x[i],y[i])<=50)
{
dead[i]=true;//剛剛是暫停 現在是碰到就死
}
if(dead[i]==true)continue;//如果葛屁了 就要再換下一個了
y[i]=y[i]+vy[i];
if(y[i]>600) vy[i]=-vy[i];
if(y[i]<0) vy[i]=-vy[i];
}
fill(255,0,0); ellipse(mouseX,mouseY,50,50);
}
接著是同學對boolean函數有疑問 老師幫助我們更好理解
可以看到下面 待機時一堆false
但只要利用mousePressed壓著下方和顏色同時都會改變成true
//step03-1 希望多很多,不只4個球
float []x;
float []y;
float []vy;
boolean [] dead;
int N=20;
void setup()
{
size(500,600);
x =new float[N];//決定陣列大小
y =new float[N];
vy =new float[N];
dead =new boolean[N];
for(int i=0;i<N;i++)
{
x[i] =random(500);//500以下的亂數
y[i] =random(100,200);
vy[i] =random(3,4);
dead[i] =false;//沒死
}
}
void draw()
{
background(255);
for(int i=0;i<N;i++)
{
fill(255,255,0);ellipse(x[i],y[i],50,50);
if(dist(mouseX,mouseY,x[i],y[i])<=50)
{
dead[i]=true;//剛剛是暫停 現在是碰到就死
}
if(dead[i]==true)continue;//如果葛屁了 就要再換下一個了
y[i]=y[i]+vy[i];
if(y[i]>600) vy[i]=-vy[i];
if(y[i]<0) vy[i]=-vy[i];
}
fill(255,0,0); ellipse(mouseX,mouseY,50,50);
}
2021年11月15日 星期一
week07
但我們要做成互動的方式,所以先改成兩個位子 會比較好做
並且把座標移下來
接著就讓他可以有個計時的功能 加入FrameCount
但因為他計時實在太快 所以我們要對FrameCount調整 並且在新增一個millis 千分之一秒
這樣一來可以更為準確
同理 我們可以將裡面的內容改掉同時插入時間,直接變成現在時間的時鐘!超讚
其實print那邊也可以省略 然後改成這樣~(中文沒辦法顯示)
時鐘程式碼:
void setup()
{
size(600,600);//大窗子
fill(255,0,0);//填滿顏色變成255,0,0
textSize(80);//放大字
}
void draw()
{
background(255);
//printf("%02d:%02d:%02d", hour(),minute(),second(););
text(hour()+":"+minute()+":"+second(),50,100);//預設fill填充白色
text("中文:"+millis()/1000,50,200);
}///每秒60frame 過了幾個free
那我們再開一個新的processing 來處理這個中文的問題
這邊會顯示出所有的輸入法
接著我們把其中的字體拿來使用,就可以在這邊用那個字體打出中文囉~
最後面是在倒數(1041那個)
然後可以把它變成負數的,也是負的分鐘換算。
程式碼:
void setup()
{
size(600,600);
fill(255,0,0);
textSize(80);
}
void draw()
{
background(255);
String hh=nf(hour(),2);
String mm=nf(minute(),2);
String ss=nf(second(),2);
text("現在:"+hh+":"+mm+":"+ss,50,100);
text("下課:15:40:00",50,200);
int now=hour()*60*60 +minute()*60+second();
int next=15 *60*60 +40 *60+0;
int remain = next-now;
text("剩下:"+remain,50,300);
hh =nf(remain/60/60%60,2);
mm =nf(remain/60%60,2);
ss =nf(remain,2);
text("剩下:"+hh+":"+mm+":"+ss,50,400);
}
我們可以把老師給的圖檔放進去 然後排序顯示出來,並且調整大小
2021年11月1日 星期一
2021年10月25日 星期一
week04
今天要來做棋盤~先把簡單的顏色和線畫上去,之後要用for迴圈來做比較省時省力!
我們可以發現裡面的50和450是不會動的
依照這個規律 可以寫出利用50當作倍數的迴圈!
第二節先使用了這個
把格子弄出來也可以上色
可以讓我們比較理解顏色要上在哪
之後配合mousePressed可以做出 按下去會有棋子的效果
把50改成25可以讓位子更精確
把下面原本的go[i][j]修改成條件式的話
配合mosueButton可以做到滑鼠三鍵分別有效果(黑、白、消除)
棋盤就先到此為止了~接著要做的是顏色的那種圈圈
加上這個可以讓圈圈被拉扯時 變顏色變大小
void setup()
{
size(500,500);
}
void draw()
{
background(128);
noFill();
stroke(mouseX,255,mouseY);
for(float a=0; a<360; a+=1)
{
float x=250+mouseX*cos(radians(a));
float y=250+mouseY*sin(radians(a));
ellipse(x,y,mouseY,mouseY);
}
}
2021年10月18日 星期一
Week03
這周開始實體上課了(上禮拜放假)
這周先複習以前的載入圖片(將圖片拉進 檔名打對即可)
接著調整Image(img,0,0)這行 後面多一個大小 可以調整圖片的大小。
例如400*400
我們可以設定更多img放進去然後也可以將原本的xy改成mouseXY來移動滑鼠控制圖片。
接著把他去背之後能更好看
程式碼:
PImage img1,img2;
//圖片,聲音
void setup()
{
size(500,500);
img1=loadImage("example.png");
img2=loadImage("圖片3.png");
}
void draw()
{
image(img1,0,0,500,500);
image(img2,mouseX-100,mouseY-100,200,200);
}
接著把音樂程式碼搞懂之後
去PlayAFile裡面有個音樂檔 抓出來並且將檔名打上去 就有聲音囉~
訂閱:
文章 (Atom)























































