我正在将这种游戏称为Shell游戏。
要让我的杯子以随机顺序但以一定的曲线运动切换位置,我已经被卡住了一段时间。我应该以某种方式使用贝塞尔曲线吗?
如何在代码中以及在哪里隐藏球?
非常感谢您的帮助:-)
cup cupLeft;
cup cupMiddle;
cup cupRight;
coin coinGold;
void setup() {
size(1250,750);
background(255);
int x = width/2;
int y = height/2;
cupLeft = new cup(x,y);
int x2 = 1050;
int y2 = 300;
cupMiddle = new cup(x2,y2);
int x3 = 1500;
int y3 = 375;
cupRight = new cup(x3,y3);
int x5 = width/2;
int y5 = height/2;
coinGold = new coin(x5,y5);
}
void draw() {
display_bW();
cupLeft.display();
cupMiddle.display();
cupRight.display();
coinGold.display();
}
display_bW()
的代码;
PImage bW;
bW = loadImage("brickWall.jpg");
bW.resize(1250,750);
imageMode(CENTER);
image( bW, width/2, height/2);
bW.resize(800,800);
//The TITLE
fill(255,215,0);
textAlign(CENTER);
textSize(100);
text("The shell game", width/2, 150);
// Instruction
fill(255,215,0);
textAlign(CENTER);
textSize(55);
text("Find the coin. Press space to start the game", width/2, 700);
杯具类:
class cup {
int x;
int y;
int dir;
cup(int x1, int y1) {
x=x1;
y=y1;
dir = 1;
}
void move(int speed) {
//My thought was to write something in here that could determine the speed and direction of the cups.
}
void display() {
fill(255,0,0);
quad(x-550,y+100,x-330,y+100,x-380,y-100,x-500,y-100);
ellipse(x-440,y-100,120,50);
ellipse(x-440,y+100, 220, 50);
}
}
如果您还有其他建议以更好或更有效的方式做某事,请告诉我。
答案 0 :(得分:1)
很难回答一般的“我该怎么做”类型的问题。我们可以为您提供的最佳建议是break your problem down into smaller steps,然后一次执行一个步骤。
例如,您可以创建一个显示两个矩形切换位置的简单程序吗?您可以研究animation。从简单的东西开始,首先没有曲线。 lerp()
函数在这里可能会派上用场。在尝试实现曲线之前先使它工作。
对于弯曲,curvePoint()
或bezierPoint()
函数可能派上用场。所有这些功能都可以在the reference中找到。
构建程序,以便您可以硬编码两个索引并显示它们切换位置的动画。
最后,根据您到目前为止所拥有的内容来随机生成索引。
如果您受困于这些步骤之一,则可以创建一个包含更具体问题以及MCVE的新帖子。祝你好运!