2016-11-30 118 views
0
//pig animation 
float x = 100; 
float y = 100; 
float p = 150; 
float l = 10; 
float a = 100; 
float b = 100; 
float n =20; 
int r = 150; 
int t = 100; 
int s = 100; 
int w = 60; 
int h = 60; 
int z = 11; 
int eyeSize = 10; 
int pigNose = 30; 
int pigBody = 30; 
int pigEars = 35; 
int pigTail = 20; 
int otherpigTail = 200; 
int speed = 1; 

void setup() { 
    size (600, 600); 
    a = width/2.5; 
    b = height/2; 
} 

void draw() { 
    background(184, 233, 249); 

    //Draw legs 
    stroke(0); 
    fill(249, 137, 244); 
    rect(x+(2*w), y+h/3.5, z, 2*z); 
    rect(x+(w), y+h/3, z, 2*z); 
    rect(x+(1.5*w), y+h/3, z, 2*z); 
    rect(x+(2.5*w), y+h/3.5, z, 2*z); 

    ////draw body 
    stroke(0); 
    fill(249, 137, 244); 
    ellipse(110+x,y-pigBody, p, p-20); 

    //draw tail 
    fill(0); 
    line(185+x, y-pigTail, x+otherpigTail, y-(2*pigTail)); 

    // Draw payer's head 
    fill(249, 137, 244); 
    ellipse(x,y-pigNose,t,t); 

    // Draw player's eyes 
    fill(0); 
    ellipse(x-w/3+1,y-h/2,eyeSize,eyeSize); 
    ellipse(x+w/3-1,y-h/2,eyeSize,eyeSize); 

    //Draw nose 
    stroke(0); 
    fill(198, 105, 194); 
    ellipse(x, y, pigNose, pigNose); 

    //draw ears 
    stroke(0); 
    fill(198, 105, 194); 
    ellipse(x-(w/2),y-h, pigEars, pigEars); 
    ellipse(x+(w/2),y-h, pigEars, pigEars); 
} 

class Pet { 
    float pigX; 
    float pigY; 
} 

我必须在Class Pet部分下为这只猪出现动画。我不确定如何做到这一点,所以如果你们能够帮助那就太好了!我该如何让这只猪眨眼和跳跃? (PROCESSING ANIMATION)

即使只是一个椭圆或其他东西的例子会有所帮助。另外,我现在是否正确设置了它?

回答

0

请注意,您实际上并没有使用您的Pet课程。你永远不会创建它的一个实例。您仍然只是使用草图顶部的变量。请参阅我对your previous question的回答,以获得有关如何在草图顶部使用类而不是变量的解释。

至于一只眨眼的眼睛,你需要退后一步,问自己究竟是什么样子。如果你有一个眼睛的圈子,眨眼的样子是什么样的?试着用英语来描述它在做什么。写下一系列步骤,你可以给另一个不知道你在做什么的人,让这个人确切地描述你正在发生的事情。让他们画出每一帧,看看他们画的是什么。提示:ellipse()函数的参数为​​widthheight。你可以使用它们。

更一般地说,我真的建议养成在堆栈溢出问题之前尝试一些东西的习惯。堆栈溢出不是真的为一般的“我该怎么做”类型的问题而设计的。它的目的是为了更具体的“我试过X,预计Y,但得到Z”,类型的问题。你需要养成至少想出你想要完成的英语步骤(也称为算法)的习惯,然后我们可以从那里开始。把你的问题分解成更小的步骤:不要张贴你的整个猪只,只是张贴眼睛的一部分。尝试让它看起来像闪烁,然后将其添加回主草图。另外请注意,您在此提出了几个问题,但您从未接受过许多人不喜欢的答案。

无论如何,我很乐意继续为您提供帮助,但您必须养成将问题分解成更小步骤,准确写出您想要用英语做的事情,然后在发布之前尝试一些东西的习惯。祝你好运。