在Processing 2中,我将如何实现这一点?
在Processing 2中,我将如何实现这一点 第一次鼠标左键单击时,应显示鼠标居中的球 第二次鼠标左键单击应显示另一个球,该球位于单击鼠标时鼠标的中心位置 显示两个球后,左键单击将在第二个球处启动第一个球在Processing 2中,我将如何实现这一点?,processing,Processing,在Processing 2中,我将如何实现这一点 第一次鼠标左键单击时,应显示鼠标居中的球 第二次鼠标左键单击应显示另一个球,该球位于单击鼠标时鼠标的中心位置 显示两个球后,左键单击将在第二个球处启动第一个球 当第一个球接触到第二个球的边缘时,第一个球应该停止,第二个球应该以相同的速度朝相同的方向移动,并且移动的距离与第一个球移动的距离相同,我不会给出代码,因为这太复杂了(这也不是堆栈溢出的目的)。不过,我将概述一些您需要的原则,希望您可以从中开始 要做的第一件事是跟踪状态。听起来你们的州会是:
当第一个球接触到第二个球的边缘时,第一个球应该停止,第二个球应该以相同的速度朝相同的方向移动,并且移动的距离与第一个球移动的距离相同,我不会给出代码,因为这太复杂了(这也不是堆栈溢出的目的)。不过,我将概述一些您需要的原则,希望您可以从中开始 要做的第一件事是跟踪状态。听起来你们的州会是:
如果您在编码过程中遇到某个特定问题,请随时发布更具体的问题(尽管请始终记住可能已经有人问过/回答过了)。向我们展示您已有的问题。我们想修复你的代码,而不是为你编写代码。你可以从第三部分开始,我需要将主球射向目标球,它的移动距离必须等于主球的移动距离。(单击==4){initialDistance=dist(target.xpos,target.ypos,cue.xpos,cue.ypos);difx=target.xpos-cue.xpos;dify=target.ypos-cue.ypos;text(“3.Aiming Shot!”,20340);target.update();cue.update();}如果(单击==5){currentDistance=dist(target.xpos,target.ypos,cue.xpos,cue.ypos),cue.ypos);如果(currentDistance>cue.ballDiam){//travel仍然远离中间,移动travel cue.xpos+=difx/speed;cue.ypos+=dify/speed;}代码很难在注释中读取。请将其添加到问题中。第一次和第二次单击完成!现在?第三次?否则(单击==4){initialDistance=dist(target.xpos,target.ypos,cue.xpos,cue.ypos,cue.ypos);difx=target.xpos-cue.xpos;dify=target.ypos-cue.ypos;文本(“3.瞄准射击!”,20340);target.update();cue.update();}else if(单击==5){currentDistance=dist(target.xpos,target.ypos,cue.xpos,cue.ypos);if(currentDistance>cue.ballDiam){//travel仍然远离中间位置,移动travel cue.xpos+=difx/speed;cue.ypos+=dify/speed;text(“正在进行”,10360);}}单击+++;}