首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在制作台球游戏过程中需要帮助

在制作台球游戏过程中需要帮助
EN

Stack Overflow用户
提问于 2013-11-23 23:11:49
回答 1查看 509关注 0票数 0

我试图弄清楚如何使黑球(在本例中被标记为bBall )移动到从白色球(wBall)击中的方向,然后如果它击中一侧或角落的口袋,我该怎么做呢?

代码语言:javascript
复制
ball wBall, bBall;
int click;
String msg;
Boolean moving = false;
int difx, dify;
float cdistance;
int steps = 20;
void setup(){
   click=0;
   size(800,400);
   background(16,77,27);
   wBall = new ball(35,#ffffff);
   bBall = new ball(35,#000000);
   msg="";
}

void mouseClicked(){
  if(!moving){
 click++; 
  }
}

void draw(){
  background(16,77,27);
  String msg;
  fill(0,0,0);
 ellipse(15,15,30,30); 
 ellipse(785,15,30,30);
 ellipse(15,385,30,30);
 ellipse(785,385,30,30);
 ellipse(410,15,30,30);
 ellipse(410,385,30,30);
 msg="the click count is "+click;
 println("the click count is "+click);
 //Moving Balls\\
 fill(255,255,255);
 noStroke();  
 bBall.xpos=(250);
 bBall.ypos=height/2;
 bBall.update();
 if(click==0){
  wBall.xpos=mouseX;
  wBall.ypos=mouseY;
 }else if(click==1){
   difx = wBall.xpos-bBall.xpos;
   dify = wBall.ypos-bBall.ypos;
 }else if(click==2){
  cdistance = dist(wBall.xpos,wBall.ypos,bBall.xpos,bBall.ypos);
   if (cdistance>bBall.ballDiam/2){
    moving = true;
    wBall.xpos-=difx/steps;
    wBall.ypos-=dify/steps;
   }else{
      moving = false;
      wBall.visible=false;
      click=3;
   } 
 }
 wBall.update();
}

class ball{
  int xpos, ypos;
  color myColor;
  int ballDiam;
  boolean visible = true;
  ball(int tempdiam, color tempColor){
    myColor=tempColor;
    ballDiam=tempdiam;
  }

   void update(){
   if(visible){
    fill(myColor);
    ellipse(xpos,ypos,ballDiam,ballDiam);
   }
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-24 01:31:08

它会使事情更容易,如果你打破你的调查多个问题,而不是说“修复我的游戏”.所以,工作直到你偶然发现一些你无法解决的事情,然后在这里问(那个具体的事情),得到一个答案,然后重新开始同样的过程。

球正与你的鼠标正确地移动,但正在留下痕迹。这是因为您没有用每个循环绘制背景。所发生的情况是,每次调用draw()时,画布都会被填充在前面的画布上。为了避免这种情况,只需打电话

代码语言:javascript
复制
background(16,77,27);

就在虚空画(){线之后,它会用你说的任何颜色填充画布!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20169065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档