您的位置:首页 > 其它

Processing 教程(9)面向对象 - 从未如此明了

2015-09-06 20:14 393 查看
在编程概念中,所有的元素都是对象,对象有属性,方法,构造函数,而Processing的对象语法完全相同,看起来也极为简洁。

实例1:在屏幕上显示两个随机偏移的同类图形对象;

class JitterBug{
    float x;
    float y;
    int diameter;
    float speed = 10;
    // 构造函数:创建对象时把初值加入;
    
    JitterBug(float tempX, float tempY, int tempDiameter){
        x = tempX;
        y = tempY;
        diameter = tempDiameter;
    }
    
    // 添加方法:
    void move(){
        x += random(-speed,speed);
        y += random(-speed,speed);
    }
    
    void display(){
        ellipse(x,y,diameter,diameter);
    }
}

class Train{
    String name;
    int distance;
    Train(String tempName, int tempDistance){
        name = tempName;
        distance = tempDistance;
    }
}

Train red, blue;
JitterBug jit,bug;

void setup(){
    //size(400,400);
    fullScreen();
    frameRate(10);
    red = new Train("Red line",90);
    blue = new Train("Blue line",120);
    bug = new JitterBug(width * 0.66,height/2,100); 
    jit = new JitterBug(width * 0.33, height/2,20);
}

void draw(){
    background(20);
    bug.move();
    jit.move();
    bug.display();
    jit.display();
    filter(BLUR,10);
    println("Current object position: ",int(bug.x),int(bug.y),
            "Move Speed: ",bug.speed);
}


通俗易懂。

根据现有的知识,设想两个小项目:

1.模拟太阳系行星运行动画;

2.虚拟头盔,在界面上显示方向罗盘,用鼠标和键盘进行方向控制和微调。

- - - - - - -- 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: