我正在尝试将重力应用到我已加载到处理数据文件中的图像中。所有的图像都很好,一切都很好。但是,我为以前只是形状的对象设置的重力条件不适用于我放在其中的图像。
这是源代码,抱歉,如果它真的很草率......我是个新手。
基本上我有一个棒图像,一个背景图像和一个气球。当我点击鼠标并向上飞时,我希望气球释放。我刚刚使用简单的对象时工作正常,但是一旦我使用了存储的图像,我就遇到了错误。我做错了什么?我多么糟糕地搞砸了这段代码?我真的很想弄清楚我做错了什么。
顺便说一句,我正在使用处理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;
}
}
}
答案 0 :(得分:2)
看看这一行:
image(balloon,mouseX-10,mouseY-30);
您总是在鼠标位置绘制气球图像。你永远不会使用xpos或ypos变量来绘制气球图像。
尝试使用xpos和ypos在绘制气球时定位气球。