2020年3月20日 星期五

Hello World_Week03

20200320 人物移動


今天教了用鍵盤的方向鍵讓球移動的方法



void setup()
{
  size(400,400);
}
int userX=200,userY=200;//一開始球的坐標
void draw()
{
  background(128);//背景設為灰色(128)
  circle(userX,userY,20);//在userX,userY的位置畫一個大小20的球
  if(keyPressed&&keyCode==RIGHT) userX++;//按下鍵盤的向右時 userX坐標+1
  if(keyPressed&&keyCode==LEFT) userX--;//按下鍵盤的向左時 userX坐標-1
  if(keyPressed&&keyCode==UP) userY--;//按下鍵盤的向上時 userY坐標-1
  if(keyPressed&&keyCode==DOWN) userY++;//按下鍵盤的向下時 userY坐標+1
}

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

再來要改成讓自己畫的角色移動

先畫一個人




然後把自己畫的角色放進程式裡



PImage img;//使用照片img
void setup()
{
  size(400,400);
  img=loadImage("user0.png");//把user0拿來用
}
int userX=200,userY=200;//一開始照片的坐標
void draw()
{
  background(128);//背景設為灰色(128)
  image(img,userX,userY,80,160);//在userX,userY的位置放大小為80,160的img
  if(keyPressed&&keyCode==RIGHT) userX++;//按下鍵盤的向右時 userX坐標+1
  if(keyPressed&&keyCode==LEFT) userX--;//按下鍵盤的向左時 userX坐標-1
  if(keyPressed&&keyCode==UP) userY--;//按下鍵盤的向上時 userY坐標-1
  if(keyPressed&&keyCode==DOWN) userY++;//按下鍵盤的向下時 userY坐標+1
}

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

然後 因為有白色背景不好看 所以要用PPT去背

先把圖片放到PPT裡(藍色橢圓是為了讓白色背景看起來更明顯才加的)



按下移除背景後白色的背景就會被選起來(紫色的部分)



去完背後按右鍵另存圖片就可以了 再來就把去好背的圖片放進程式裡



就可以有一個沒有背景的角色了!



最後 要讓角色往旁邊走的時候可以跟著換方向

一樣先畫好向左跟向右的圖片以及去背 然後放進程式裡


PImage img0,img1,img2;//使用照片img0,img1,img2
void setup()
{
  size(400,400);
  img0=loadImage("user0.png");//把user0拿來用
  img1=loadImage("user1.png");//把user1拿來用
  img2=loadImage("user2.png");//把user2拿來用
}
int userX=200,userY=200;//一開始照片的坐標
void draw()
{
  background(128);//背景設為灰色(128)
  if(keyPressed&&keyCode==RIGHT)//按下鍵盤的向右時
  {
    userX++;//userX坐標+1
    image(img1,userX,userY,80,160);//在userX,userY的位置放大小為80,160的img1
  }

  else if(keyPressed&&keyCode==LEFT)//按下鍵盤的向左時 
  {
    userX--;//userX坐標-1
    image(img2,userX,userY,80,160);//在userX,userY的位置放大小為80,160的img2
  }
  else image(img0,userX,userY,80,160);//在userX,userY的位置放大小為80,160的img0
  if(keyPressed&&keyCode==UP) userY--;//按下鍵盤的向上時 userY坐標-1
  if(keyPressed&&keyCode==DOWN) userY++;//按下鍵盤的向下時 userY坐標+1
}

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

心得


今天教了讓自己畫的角色移動的方法,更有電玩的感覺了!然後還有教用PPT去背的方法,我覺得很實用,上次為了找沒有背景的氣球花了很多時間,這次直接自己用PPT去背就方便多了!而且上完這次的課感覺愈來愈習慣了,希望可以繼續保持!

沒有留言:

張貼留言