概要:延續上禮拜的內容,讀寫檔案。
第一個程式碼,我們延續上禮拜第六個程式,在讀檔的時候去額外判斷是否有資料,再去決定是否撥放旋轉角度。
int R=0;
if(key=='r'){
if(R==0){
String [] file = loadStrings("angles.txt");
if(file!=null){
for(int i=0;i<file.length;i++){
lines.add(file[i]);
}
}
}
if(R<lines.size()){
float [] now = float(split(lines.get(R),' '));
for(int i=0;i<20;i++)angle[i] = now[i];
R = (R+1) % lines.size();
}
}
第二個程式碼,我們利用內插的原理,將兩個動作間的間隔補上,形成動畫的效果。
if(key=='p'){
float [] oldAngle = float(split(lines.get(R)," "));
float [] newAngle = float(split(lines.get((R+1)%lines.size()),' '));
float alpha = (frameCount%30)/30.0;
for(int i=0;i<20;i++)angle[i] = oldAngle[i]*(1-alpha)+newAngle[i]*alpha;
}
沒有留言:
張貼留言