因此,目标是每次锤子或水桶落下时添加一个黑色圆圈而不击中人,然后每次人进门时添加4个圆圈,当第一行圆圈被填满时,它将进入第二行,直到整个屏幕被填满,然后重新设置。而且,随着人被锤子或水桶击中,会出现一整排的红圈。我不知道该怎么做,谢谢。
// all the variables I need for two tools
int hammerPos = 0;
int hammerVel = 1;
int hammerPending = 0;
int bucketPos = 0;
int bucketVel = 2;
int bucketPending = 0;
int mrPos;
int jump = 60;
boolean doorOpen = true;
long timeAt; // the time at which the door was last opened or closed
long waitTime; // the time to wait (in total) until the door opens next
void setup() {
size(512, 348);
mrPos = width/8;
frameRate(30);
waitTime = int(random(3000, 8000));
}
void draw() {
if (millis() > timeAt + waitTime) { // calculation will tell me if current time (millis) has gone past the last time the door opened plus waitTime
doorOpen = !doorOpen;
timeAt = millis(); // reset last opening time to now
waitTime = int(random(3000, 8000));// choose new waiting time
}
background(159, 172, 173);
rectMode(CORNERS);
ellipseMode(CORNERS);
noStroke();
house();
mrg();
hazard();
score();
}
void hazard() {
fill(0);
stroke(0);
strokeWeight(6);
line(128, hammerPos+10, 148, hammerPos-12);
strokeWeight(4);
line(125, hammerPos+13, 129, hammerPos+11);
strokeWeight(8);
line(115, hammerPos+5, 130, hammerPos+20);
// draw bucket
fill(0);
noStroke();
triangle(167, bucketPos-5, 187, bucketPos-12, 188, bucketPos+12);
triangle(167, bucketPos-5, 187, bucketPos+12, 169, bucketPos+14);
noFill();
stroke(0);
strokeWeight(4);
ellipse(183, bucketPos-11, 195, bucketPos+10);
if (bucketPos >height) {
bucketPos=0;
}
if (hammerPos>height) {
hammerPos=0;
}
if (hammerPos > 240 && hammerPos < 300 && mrPos == width/4) {
mrPos = width/8;
}
if (bucketPos > 240 && bucketPos < 300 && mrPos == 3*width/8) {
mrPos = width/8;
}
// animate all automatically moving objects.. first update pending then decide if there is a jump this frame
hammerPending = hammerPending + hammerVel;
bucketPending = bucketPending + bucketVel;
if (hammerPending > jump) {
hammerPos = hammerPos + hammerPending;
hammerPending = 0;
}
if (bucketPending > jump) {
bucketPos = bucketPos + bucketPending;
bucketPending = 0;
}
}
void score() {
if (hammerPos>height) {
ellipse(40, 40, 40, 40);
}
}
//draw house
void house() {
strokeWeight(20);
stroke(0);
line(402, 206, 490, 169);
line(490, 169, 512, 179);
strokeWeight(2);
noFill();
line(411, 213, 411, 305);
rect(419, 210, 468, 295);
if (doorOpen) {
line(479, 206, 499, 199);
line(499, 199, 499, 314);
line(499, 314, 478, 302);
fill(0);
noStroke();
triangle(476, 225, 493, 219, 493, 243);
triangle(476, 225, 493, 243, 476, 240);
ellipse(487, 255, 493, 263);
arc(499, 255, 507, 262, 3*HALF_PI, HALF_PI, CHORD);
} else {
fill(0);
noStroke();
rect(432, 225, 453, 243, 2);
ellipse(425, 255, 431, 263);
}
}
// draw MrGW
void mrg() {
noStroke();
fill(0);
ellipse(mrPos-13, 232, mrPos+17, 263);
fill(159, 172, 173);
ellipse(mrPos+3, 250, mrPos+17, 260);
fill(0);
triangle(mrPos+2, 258, mrPos-11, 278, mrPos+1, 285);
}
void keyPressed() {
if (keyCode == RIGHT && (mrPos < 7*(width/8)) && doorOpen) { // mr gw is moving right and the door is open
mrPos = mrPos + width/8;
} else if (keyCode == RIGHT && (mrPos < 6*(width/8))) { // mr gw is moving right not including last slot
mrPos = mrPos + width/8;
} else if (keyCode == LEFT && (mrPos > width/8)) { // mr gw is moving left.
mrPos = mrPos - width/8;
}
}
基本上,您需要一个变量来表示点/圈的数量:points
。圆圈本身应该在void循环中绘制,也许有两个for循环(见下文)。
此外,您还需要定义哪些圆圈应该是红色的。在下面的示例中,我使用了一个布尔数组,它为每个圆圈定义了是否应该是红色的。因此,如果第一个圆圈必须是红色的,则必须将redpoint[0]
设置为true
······
int i=0;
for(int y=10; y<height-10; y+=20) {
for(int x=10; x<width-10; x+=20) {
if(redPoint[i] == true) {
fill(255,0,0);
} else {
fill(0);
}
if(i<points) {
ellipse(x,y,15,15);
}
i++;
}
}
(附:我不太懂加工)
我使用以下命令将数据从csv文件加载到Neo4j中。输入文件很大,有数百万行。当这个查询运行时,我可以查询节点的数量并检查进度。但是一旦它停止创建节点,我想它就会继续创建关系。但我无法检查这一步的进展。 我有两个疑问: 它是否处理每一行文件的命令,即为每一行源码创建节点和关系等?? 或者它一次创建所有节点,然后创建关系。 下面是加载文件的密码器。
问题内容: 我想制作一个圆形的大拇指和大拇指向下的按钮。 我应该使用ImageView还是Button作为超类? 我将如何在Swift中做到这一点? 问题答案: 这是一个圆形按钮示例: 斯威夫特3: Swift 2.x:
问题内容: 在课堂上,我们都是“学习”数据库,每个人都在使用Access。厌倦了这一点,我试图做该类其余部分的工作,但是要使用MySQL的原始SQL命令而不是使用Access。 我已经设法创建数据库和表,但是现在如何在两个表之间建立关系? 如果我有两个这样的表: 和 如何在两个表之间创建“关系”?我希望为每个帐户“分配”一个customer_id(以指示谁拥有它)。 问题答案: 如果表是innod
我试图在android中创建一个具有圆形边缘的视图。到目前为止,我找到的解决方案是定义一个具有圆角的形状,并将其用作该视图的背景。 下面是我所做的,定义一个可绘制的,如下所示: 现在我用它作为我的布局背景,如下所示: 这工作非常好,我可以看到视图有圆形的边缘。 但是我的布局中有许多其他的子视图,比如ImageView或MapView。当我在上面的布局中放置时,图像的角落不会被裁剪/裁剪,而是显示为
我是Android系统的初学者。为了学习,我使用android Studio开发了以下UI。 屏幕上的矩形是一个文本视图,圆形是一个我可以用手绘制的区域。 textview和circle的数量是动态的。