daily pastebin goal
59%
SHARE
TWEET

Untitled

a guest Sep 26th, 2018 58 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. int radius = 40;  //ボールの半径(初期値40)
  2. float x = 110;    //ボールのx座標(初期値110)
  3. float y = 60;     //ボールのy座標(初期値60)
  4. float vx = 0.5;   //ボールのx方向の速度(初期値0.5)
  5. float vy = 0.3;   //ボールのy方向の速度(初期値0.3)
  6. int xdir = 1;     //ボールのx進行方向(初期値1 -1:左方向、1:右方向)
  7. int ydir = 1;     //ボールのy進行方向(初期値1 -1:上方向、1:下方向)
  8.  
  9. void setup() {
  10.   size(240, 240);       //ウィンドウサイズ(240, 240)
  11.   ellipseMode(RADIUS);  //半径を七して円を描画する設定に変更
  12. }
  13.  
  14. void draw() {
  15.   background(0);  //背景黒
  16.   move();         //ボールの座標を移動する
  17.   if (isHitRightWall() || isHitLeftWall()) {  //右壁か左壁に衝突したら
  18.     flipXdir();   //ボールのx進行方向を反転する
  19.   }
  20.   if (isHitBottomWall() || isHitTopWall()) {  //下壁か上壁に衝突したら
  21.     flipYdir();   //ボールのy進行方向を反転する
  22.   }
  23.   display();      //ボールを描く
  24. }
  25.  
  26. //ボールの座標を移動する
  27. void move(){
  28.   x += vx * xdir;
  29.   y += vy * ydir;
  30. }
  31.  
  32. //ボールのx進行方向を反転する
  33. void flipXdir(){
  34.   xdir = -xdir;
  35. }
  36.  
  37. //ボールのy進行方向を反転する
  38. void flipYdir(){
  39.   ydir = -ydir;
  40. }
  41.  
  42. //ボールを描く
  43. void display(){
  44.   ellipse(x, y, radius, radius);
  45. }
  46.  
  47. //下壁に衝突したか
  48. boolean isHitBottomWall(){
  49.   if(y > height-radius){
  50.     return true;
  51.   } else {
  52.     return false;
  53.   }
  54. }
  55.  
  56. //上壁に衝突したか
  57. boolean isHitTopWall(){
  58.   if(y < radius){
  59.     return true;
  60.   } else {
  61.     return false;
  62.   }
  63. }
  64.  
  65. //左壁に衝突したか
  66. boolean isHitLeftWall(){
  67.   if(x < radius){
  68.     return true;
  69.   } else {
  70.     return false;
  71.   }
  72. }
  73.  
  74. //右壁に衝突したか
  75. boolean isHitRightWall(){
  76.   if(x > width-radius){
  77.     return true;
  78.   } else {
  79.     return false;
  80.   }
  81. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top