Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 处理中的图像移动/重力问题2.2.1_Image_Image Processing_Processing - Fatal编程技术网

Image 处理中的图像移动/重力问题2.2.1

Image 处理中的图像移动/重力问题2.2.1,image,image-processing,processing,Image,Image Processing,Processing,我正试图将重力应用于我加载到处理数据文件中的图像。所有的图像都很好,一切都很好。但是,我为之前只是形状的对象设置的重力条件与我放置的图像不匹配 这是源代码,很抱歉,如果它真的很草率…我是一个新手 基本上我有一个棒状图像,一个背景图像和一个气球。我希望单击鼠标时气球释放,并向上飞行。当我只使用简单的对象时,它工作得很好,但当我使用存储的图像时,我就遇到了错误。我做错了什么?我把这个代码搞砸了有多严重?我想弄清楚我做错了什么,真是疯了 顺便说一下,我使用的是processing 2.2.1 floa

我正试图将重力应用于我加载到处理数据文件中的图像。所有的图像都很好,一切都很好。但是,我为之前只是形状的对象设置的重力条件与我放置的图像不匹配

这是源代码,很抱歉,如果它真的很草率…我是一个新手

基本上我有一个棒状图像,一个背景图像和一个气球。我希望单击鼠标时气球释放,并向上飞行。当我只使用简单的对象时,它工作得很好,但当我使用存储的图像时,我就遇到了错误。我做错了什么?我把这个代码搞砸了有多严重?我想弄清楚我做错了什么,真是疯了

顺便说一下,我使用的是processing 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和YPO来定位气球。

请帮助我释放气球。您遇到了哪些错误?你说的“我有麻烦了”是什么意思?在我为YPO和xpos建立浮点之前,我只是让我的if mouse press语句尝试引用我在那里的气球图像。每当我运行该代码时,它都会说它无法将Pimage转换为float。这是我的第一个问题。我希望气球的图像与我在代码中设置的重力条件一起工作。当它刚刚画出形状时,气球的形状很好地向上漂浮,并通过顶部离开屏幕。我想从图像文件中得到同样的东西,但我不太知道如何让它这样做。我正在制作一个小的flash游戏,你可以通过点击气球来释放气球,让它向上飞。一旦我把XPO和YPO放进去,我就不再得到转换错误,但气球不再遵循if语句。它不会像我希望的那样改变状态。处理起来很新,但每天花8个小时。所以想弄明白这件事让我抓狂。太棒了,它真的能用。现在最后一个问题。当我单击气球时,它只对鼠标单击一次执行浮动动画。有没有办法重复整个动画?看看你的if(鼠标按下)逻辑。仅在当前按下鼠标时执行。你必须检查你的逻辑,真正思考你想发生什么,什么时候发生。谢谢,我把它清理了一点。我添加了一个void mouseClicked函数,这样我就可以在鼠标点击后让东西保持在一种状态。现在我只需要清理更多的代码。非常感谢。另外,我添加了int state1和int state2,所以基本上我可以有两个气球存在的阶段:浮动和停留在鼠标位置。