我正在尝试将重力应用于已加载到处理数据文件中的图像。所有图像都工作正常,一切都很好。然而,我为以前只是一个形状的对象设置的重力条件与我放置的图像不匹配。
这是源代码,如果真的很马虎,对不起…我是个新手。
基本上,我有一个粘贴图像、一个背景图像和一个气球。我希望气球在我点击鼠标时释放,然后向上飞行。当我只是使用简单的对象时,它工作得很好,但是当我使用存储的图像时,我就遇到了错误。我做错了什么?我把这段代码弄得有多糟糕?我真的要疯了,试图找出我做错了什么。
顺便说一下,我正在使用处理2.2.1
float line;
float xpos;
float ypos;
float speed = 1;
float gravity = 1;
int bodyHeight = 160;
float easing = 0.02;
PImage b;
PImage lol;
PImage balloon;
void setup(){
size(500,500);
b=loadImage("1406075208097 copy.jpg");
lol=loadImage("Dark-Wood-Background.jpg");
//Here's where I have trouble
balloon=loadImage("1194986736244974413balloon-red-aj.svg.thumb.png");
xpos = (mouseX);
ypos = (mouseY);
}
void draw(){
//DRAW BACKGROUND
background(b);
stroke(0);
//DRAW THE TETHER
line(width/2,height/2,mouseX,mouseY);
//THE BALLOON
noStroke();
fill(245,91,97);
image(balloon,mouseX-10,mouseY-30);
//THE STICK
noStroke();
fill(144,113,73);
image(lol,228,250);
//This next section sets up the conditions for the balloon on the stick.
if(mousePressed){
//DRAW BACKGROUND
background(b);
stroke(0);
//DRAW THE TETHER
line(width/2,height/2,mouseX,mouseY);
//THE STICK
image(lol,228,250);
//THIS NEXT SECTION IS FOR THE UPWARD MOVING BALLOON
image(balloon,mouseX-10,mouseY-30);
ypos = speed-.9999999;
speed = speed - gravity;
// If square reaches the bottom
// Reverse speed
if (ypos > height){
speed = speed * -99.99999999999999999999999999999;
}
}
}
看这一行:
image(balloon,mouseX-10,mouseY-30);
您总是在鼠标位置绘制气球图像。您永远不会使用xpos或ypos变量来绘制气球图像。
尝试在绘制气球时实际使用xpos和ypos来定位气球。