Processing 小精靈
一. 先畫出小精靈
void setup(){
size(400,400);
}
int X=100,Y=100,angle=45,diff=1;
void draw(){
background(0);
arc(X,Y,80,80,radians(angle),radians(360-angle),PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0 ) diff=+1;
}
鍵盤可移動的小精靈
void setup(){
size(400,400);
}
int X=100,Y=100,dx=1,dy=0,angle=45,diff=2;
void draw(){
background(0);
arc(X,Y,80,80,radians(angle),radians(360-angle),PIE);
angle+=diff;
if(angle>60) diff=-2;
if(angle<0 ) diff=+2;
X+=dx; Y+=dy;
}
//換方向
void keyPressed(){
if(keyCode==RIGHT){dx=+1;dy=0;}
if(keyCode==LEFT){dx=-1;dy=0; }
if(keyCode==UP){dx=0;dy=-1;}
if(keyCode==DOWN){dx=0;dy=+1;}
}
鍵盤可移動且小精靈方向改變的小精靈
//加入 dir
void setup(){
size(400,400);
}
int X=100,Y=100,dx=1,dy=0,angle=45,diff=2,dir=0;
void draw(){
background(0);
arc(X,Y,80,80,radians(dir+angle),radians(dir+360-angle),PIE);
angle+=diff;
if(angle>60) diff=-2;
if(angle<0 ) diff=+2;
X+=dx; Y+=dy;
}
void keyPressed(){
if(keyCode==RIGHT){dx=+1;dy=0;dir=0;}
if(keyCode==LEFT){dx=-1;dy=0;dir=180;}
if(keyCode==UP){dx=0;dy=-1;dir=270;}
if(keyCode==DOWN){dx=0;dy=+1;dir=90;}
}



沒有留言:
張貼留言