這周第一堂課我們一開始先學用text來印出文字
textSize是調整字的大小
再用text就可以印出文字
之後我們再把程式改成可以互動的
加上void setup()跟void draw()
再來把text裡改成Time+frameCount,顯示的文字就會變成Time:過了幾個frame
把frame/60就是1秒鐘 但越跑越久就會有誤差
下面millis就是準確的1秒鐘
如果使用hour()+":"+minute()+":"+second()就可以顯示現在時間
把程式改成中文,會發現他無法顯示出來
使用PFont.list()可以列出電腦內所有的字型
然後再用PFont就可以讓我們寫出中文
使用mousePressed就可以讓字體在滑鼠按下之後變成微軟正黑體
之後我們教了String,用String hh=nf(hour(),2);就可以把hh設呈現在時間的幾點mm就是幾分ss
就是幾秒
用now代表現在時間的總秒數
再用next代表下課時間的總秒數
最後再用next-now就會是從現在到下課的剩餘時間了
把remain/60/60就會變成小時
remain/60%60就會變成分鐘
remain%60就會變成秒
這樣第四行就會把剩餘的時間轉換成小時:分鐘:秒
使用PImage可以把圖片秀出來
PImage [] img=new PImage[10];
void setup(){
size(1120,450);
for(int i=0;i<10;i++)img[i]=loadImage(i+".png");
}
void draw(){
for(int i=0;i<10;i++){
int x=(i%5)*224,y=int(i/5)*225;
image(img[i],x,y);
}
}
//Q: 能不能改用漂亮的圖片, 來顯示數字
//(1) 在 images.google.com 找到10張圖 0...9
// ex. IconsPng Golden Number 1 Icons PNG
//(2) 存在我們的專案目錄,檔名: 0.png ~ 9.png
// 使用陣列讀進來
PImage [] img = new PImage[10];//0...9
PFont font;
void setup(){
//size(224*5,225*2);
size( 1120, 450 );//把全部的圖,都秀出來
for(int i=0; i<10; i++) img[i]=loadImage(i+".png");
fill(255);
font = createFont("標楷體",80);
textFont(font);
}
void draw(){
background(#075BB2);
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 = 16 *60*60 + 40 *60 + 0;//總秒數
int remain = next-now;//剩下的時間 (秒數來算)
if(remain<0) remain += 24*60*60;
text("剩下:"+remain, 50,300);
hh = nf(remain/60/60%60, 2);
mm = nf(remain/60%60, 2);
ss = nf(remain%60, 2);
text("剩下:"+hh+":"+mm+":"+ss, 50,400);
int x=800;
while(remain>0){
int n = remain%10;
remain = remain / 10;
image( img[n], x,100,100,100);
x-=100;
}
}














沒有留言:
張貼留言