2013年6月15日 星期六

「筆記」QC進階筆記3-2

範例一:

var lines=[];
function (__structure out) main (__number mousex,__number mousey,
__boolean click,__boolean reset,__boolean del,__boolean next)
{
 var result = new Object();
 if(click){
  lines.push([mousex,mousey,0]);
 }//按下滑鼠左鍵時,開始畫圖。 
 
 if(reset){
  lines=[];
 }//按下滑鼠右鍵時,清空畫布。 
 
 if(lines.length>100){
  lines.shift();
 }//線條長度大於100時,從尾巴遞減 
 
 if(del){
  lines.pop();
 }//按下鍵盤←鍵,刪除線條起始頭。  
 
 if(next){
  lines.shift();
 }//按下鍵盤→鍵,刪除線條尾巴。 
 
 result.out = lines;
 return result;
}
qc2-w3-3.qtz

範例二:

var lines=[];

function (__structure out) main 
(__number mousex,__number mousey,__boolean click,__boolean reset,__number timer)
{
 var result = new Object();
 for(var i=0;i<lines.length;i++){
  lines[i][2] -= 0.01;
  if(lines[i][2] < -2 ){
   lines.splice(i,3);
  }
 }//當三角形的Z軸位置小於-2時,刪除三角形。
 
 if(click){
  var size=Math.random()*0.2+0.01;
  lines.push([mousex,mousey+size,0]);
  lines.push([mousex+size,mousey,0]);
  lines.push([mousex-size,mousey,0]);
 }//點選滑鼠左鍵時,畫出一個三角形。
 
 if(reset){
  lines=[];
 }//點選滑鼠右鍵時,清除所有的三角形。
     
 result.out = lines;
 return result;
}


qc2-w3-4.qtz