2020年6月12日 星期五

Hello World_Week16

20200612 程設會考練習&Sprite Sheet


這次一樣先複習了程設會考的題目 還有考試

再來要繼續做上次的Sprite!

上次教到這裡




PImage img;
void setup()
{
size(500,500);
img=loadImage("img.jpg");
}
void draw()
{
background(255);
image(img.get(141*a,211*b,141,211),0,0);//img.get(x1,y1,x2,y2) 顯示出(x1,y1)到(x2,y2)的圖片
}
int a=0,b=0;
void keyPressed()
{
if(keyCode==RIGHT) b=3;//按向右鍵就做第四列的(b=3 人物面向右邊)
if(keyCode==LEFT) b=2;//按向左鍵就做第三列的(b=2 人物面向左邊)
if(keyCode==UP) b=1;//按向上鍵就做第二列的(b=1 人物面向上面)
if(keyCode==DOWN) b=0;//按向下鍵就做第一列的(b=0 人物面向下面)
a++;//換下一個動作
if(a>=4) a=0;//因為一列有4個動作,所以如果超過就從第1個開始
}

--------------------------------------------------------------------------------------------------------------------------

再來我們要讓角色在畫面中間




PImage img;
void setup()
{
size(500,500);
img=loadImage("img.jpg");
imageMode(CENTER);//讓圖片位於畫面中間
}
void draw()
{
background(255);
image(img.get(141*a,211*b,141,211),x,y);//img.get(x1,y1,x2,y2) 顯示出(x1,y1)到(x2,y2)的圖片
}
int a=0,b=0,x=250,y=250;
void keyPressed()
{
if(keyCode==RIGHT) b=3;//按向右鍵就做第四列的(b=3 人物面向右邊)
if(keyCode==LEFT) b=2;//按向左鍵就做第三列的(b=2 人物面向左邊)
if(keyCode==UP) b=1;//按向上鍵就做第二列的(b=1 人物面向上面)
if(keyCode==DOWN) b=0;//按向下鍵就做第一列的(b=0 人物面向下面)
a++;//換下一個動作
if(a>=4) a=0;//因為一列有4個動作,所以如果超過就從第1個開始
}

--------------------------------------------------------------------------------------------------------------------------

接下來 我們要讓角色可以自己走動




PImage img;
void setup()
{
size(500,500);
img=loadImage("img.jpg");
}
int a=0;
void draw()
{
background(255);
image(img.get(141*a,0,141,211),0,0);//img.get(x1,y1,x2,y2) 顯示出(x1,y1)到(x2,y2)的圖片
a=(a+1)%4;//讓角色自己改變動作
}

--------------------------------------------------------------------------------------------------------------------------

因為角色走太快了 所以我們要讓他走慢一點




PImage img;
void setup()
{
size(500,500);
img=loadImage("img.jpg");
}
int a=0;
void draw()
{
background(255);
image(img.get(141*a,0,141,211),0,0);//img.get(x1,y1,x2,y2) 顯示出(x1,y1)到(x2,y2)的圖片
if(frameCount%60==0) a=(a+1)%4;//一秒走一步
}

--------------------------------------------------------------------------------------------------------------------------

一秒走一步又有點太慢 所以改成一秒走四步




PImage img;
void setup()
{
size(500,500);
img=loadImage("img.jpg");
}
int a=0;
void draw()
{
background(255);
image(img.get(141*a,0,141,211),0,0);//img.get(x1,y1,x2,y2) 顯示出(x1,y1)到(x2,y2)的圖片
if(frameCount%15==0) a=(a+1)%4;//一秒走四步
}

--------------------------------------------------------------------------------------------------------------------------

心得


下星期一就是程設會考了,希望可以順利考過!等考完程設會考,之後上課就有更多時間可以學著寫出有趣的遊戲了!這次讓角色自己走動的功能也很神奇,程式碼超級短,卻可以發揮很大的作用!

沒有留言:

張貼留言