前言
在《代码本色》的第1章 向量 中,主要讲到了向量的运算、静态函数和非静态函数以及向量在运动中的应用,以下为第1章的内容目录:
针对向量在运动中的应用,我展开了自己的习作。
关于习作
学习了《代码本色》第1章 向量 的内容之后,我想在自己的习作中表现的是键鼠与画面的交互以及更多的画面表现力。具体实现为:
- Mover跟随鼠标位置,加速度指向鼠标位置。
- 键盘控制最大速度,A键加速,S键减速,R键重置速度。
- Mover是一个圆形,圆心位置与鼠标位置连线,体现牵引关系。
关于第一点和第二点,可以通过在Mover类中加入鼠标和键盘事件实现,第三点可以通过line()函数实现,丰富表现力。
通过向量的使用和面向对象编程思想,实现了键鼠和画面中Mover的交互,牵引线体现了更多的画面表现力,自己也熟悉了PVector类的使用,达到了自己的目的。
下面是效果图和具体代码实现:
Mover.pde
class Mover {
// The Mover tracks position, velocity, and acceleration
PVector position;
PVector velocity;
PVector acceleration;
// The Mover's maximum speed
float topspeed;
Mover() {
// Start in the center
position = new PVector(random(width),random(height));
velocity = new PVector(0,0);
topspeed