2021年11月15日 星期一

(☞゚ヮ゚)☞ Week08

 

✨Week08✨

🐧文字


輸入文字

💻程式碼

size(600,600);//畫布大小
fill(255,0,0);//文字顏色
textSize(80);//文字大小
text("Hello", 50,50); //(文字內容,位置,位置)

可互動文字

💻程式碼

void setup()
{
  size(600,600);
  fill(255,0,0);
  textSize(80);
}
void draw()
{
  text("Hello", 50,100);
}

計算過了幾個Frame

💻程式碼

void setup()
{
  size(600,600);
  fill(255,0,0);
  textSize(80);
}
void draw()
{
  background(255);//清背景
  text("Time:"+frameCount, 50,100);//文字+計算
}//每秒60frame

計算過了幾秒

💻程式碼

void setup()
{
  size(600,600);
  fill(255,0,0);
  textSize(80);
}
void draw()
{
  background(255);
  text("Time:"+frameCount/60, 50,100); //除60等於一秒 Frame會有點延遲
  text("millis:"+millis()/1000,50,200); //千分之一秒 除1000等於一秒 較準確
}//kilo-  meter  centi-  milli-
 

時間

💻程式碼

void setup()
{
  size(600,600);
  fill(255,0,0);
  textSize(80);
}
void draw()
{
  background(255);
  text(hour()+":"+minute()+":"+second(),   50,100);
  text("millis:"+millis()/1000,50,200);
}

列出PFont字型

💻程式碼

println( PFont.list() );

輸出中文字


💻程式碼

PFont myFont;//宣告myFont
void setup()
{
  size(500,500);
  myFont = createFont("標楷體",100);//字型,文字大小
  textFont(myFont);//使用字型
  text("中文",100,100);
}

按下滑鼠切換字體



💻程式碼

PFont font1,font2;
void setup()
{
  size(500,500);
  font1 = createFont("標楷體",100);
  textFont(font1);
  font2 = createFont("微軟正黑體 Bold",100);
}
void draw()
{
  background(0);//清背景
  text("中文",100,100);
  if(mousePressed) textFont(font2); //當按下滑鼠 切換字體2
  else textFont(font1);
}

字串

💻程式碼

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);
  
}

倒計時


💻程式碼

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);
}

💻程式碼

PFont font;
void setup()
{
  size(600,600);
  font = createFont("微軟正黑體 Bold",100);
  textFont(font);
  fill(255);
  textSize(80);
}
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= 15*60*60+ 40*60   +0;
  int remain= next-now;
  text("剩下:"+remain, 50,300);
}

剩餘時間換算成時分秒



💻程式碼

PFont font;
void setup()
{
  size(600,600);
  font = createFont("微軟正黑體 Bold",100);
  textFont(font);
  fill(255);
  textSize(80);
}
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= 15*60*60+ 40*60   +0;
  int remain= next-now;
  text("剩下:"+remain, 50,300);
  hh=nf(remain/60/60%24,2);
  mm=nf(remain/60%60,2);
  ss=nf(remain%60,2);
  text("剩下:"+hh+":"+mm+":"+ss, 50,400);
}

用圖SHOW出剩下時間


💻程式碼

PImage []img = new PImage[10];//放10個圖的陣列
void setup()
{
  size(1120,450);//畫布大小
  for(int i=0;i<10;i++) img[i]=loadImage(i+".png");//讀10個圖 放入陣列
}
void draw()
{
  for(int i=0;i<10;i++)
  {
    int x=(i%5)*224, y=int(i/5)*225; //x=寬 y=高
    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;
  }
}

沒有留言:

張貼留言