作者 主题: 为什么这个程度显示不出来,图像也不动啊?  (阅读 3282 次)

kunard

  • Newbie
  • *
  • 帖子: 9
为什么这个程度显示不出来,图像也不动啊?
« 于: 十月 27, 2011, 08:53:42 上午 »
为什么这个程度显示不出来,图像也不动啊?

Panda xiongmao1;
Panda xiongmao2;
Panda xiongmao3;
Panda xiongmao4;


void setup(){
  size(600,600);
  smooth();
  xiongmao1=new Panda(100,100,100,color(random(360),100,100));
  xiongmao2=new Panda(150,200,100,color(random(360),100,100));
  xiongmao3=new Panda(160,300,100,color(random(360),100,100));
  xiongmao4=new Panda(170,250,100,color(random(360),100,100));
}
void draw(){
  background(255);
  xiongmao1.dispaly();
  xiongmao1.moveX();
  xiongmao2.dispaly();
  xiongmao2.moveX();
  xiongmao3.dispaly();
  xiongmao3.moveY();
  xiongmao4.dispaly();
  xiongmao4.moveY();
}


class Panda{
  float x;
  float y;
  float xspeed;
  float yspeed;
  float d;
  float s;
  float c;
 
  Panda(float tempx,float tempy,float tempd,color tempc){
    x=tempx;
    y=tempy;
    d=tempd;
    c=tempc;
    xspeed=0.5;
    s=1;
  }
 
 void dispaly(){
   fill(0);
   strokeWeight(2);
   stroke(255);
   ellipse(-70,-50,70,70);
   ellipse(70,-50,70,70);
   
   fill(255);
   strokeWeight(2);
   stroke(2);
   ellipse(0,0,200,180);
   
   fill(0);
   ellipse(-50,10,60,70);
   ellipse(50,10,60,70);
   fill(255);
   ellipse(-50,0,12,12);
   ellipse(50,0,12,12);
   
   fill(0);
   ellipse(0,50,15,10);
   
   noFill();
   stroke(0);
   strokeWeight(2);
   bezier(-5,70,-5,75,5,75,5,70);}
   
   void moveX(){
     x=x+xspeed*s;
     if(x>width+d){s-=s;}
   }
   void moveY(){
     y=y+yspeed*s;
     if(y>height+d){s-=s;}
   }
 }

khowarizmi

  • Newbie
  • *
  • 帖子: 1
Re: 为什么这个程度显示不出来,图像也不动啊?
« 回复 #1 于: 十月 27, 2011, 08:55:46 上午 »
这段没有把参数传进去
改成下面这样就可以了。。。
EYE(color tempc,float tempx,float tempy,float tempd){               //定义类的构造函数
  c=color(255,200,0);
  x=tempx;
  y=tempy;
  xspeed=1;
  d=tempd;
  s=1;
}

kunard

  • Newbie
  • *
  • 帖子: 9
Re: 为什么这个程度显示不出来,图像也不动啊?
« 回复 #2 于: 十月 27, 2011, 09:04:54 上午 »
哦。。呵呵,谢谢你,我刚才才发现,还有几处问题,yspeed也没有初始值。。s=-s;也写成了s-=s;呵呵,不管怎样,还是谢谢你。

Tags: