Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void setup()
- {
- size(800, 800);
- }
- float speed = 1;
- boolean forward = true;
- void draw()
- {
- noStroke();
- // Sky
- fill(80 + 90 * speed, 130 + 90 * speed, 200 + 90 * speed);
- rect(0, 0, 800, 400);
- // Sun
- fill(253, 184, 19);
- ellipse(400, 350 + 100 - 300 * speed, 100, 100);
- // Grass
- fill(30 + 100 * speed, 160 + 130 * speed, 0);
- rect(0, 400, 800, 800);
- // Street
- fill(0, 0, 0);
- triangle(200, 800, 400, 400, 600, 800);
- // Car
- if (forward)
- {
- for (float i = 0; i < 15; i = i + 1)
- {
- car(60 * speed + i * speed + 400, 400 * speed - i * speed + 400, false);
- }
- speed = speed - 0.003;
- if (speed <= 0)
- {
- forward = false;
- }
- }
- else
- {
- for (float i = 0; i < 15; i = i + 1)
- {
- car(-60 * speed - i * speed + 400, 400 * speed - i * speed + 400, true);
- }
- speed = speed + 0.003;
- if (speed >= 1)
- {
- speed = 1;
- }
- }
- }
- void car(float x, float y, boolean front)
- {
- float yScale = (y - 400) / 400;
- float yScale2 = (y - 400 - 100 * yScale) / 400;
- if (front)
- {
- //P1 x - 80 * yScale, y
- //P2 x, y
- //P3 x - 80 * yScale + 20 * yScale2, y - 100 * yScale2
- //P4 x - 80 * yScale + 20 * yScale2 + 80 * yScale2, y - 100 * yScale2
- fill(255, 0, 0);
- triangle(x - 80 * yScale, y, x, y, x - 80 * yScale2 + 20 * yScale2, y - 100 * yScale2);
- triangle(x, y, x - 80 * yScale2 + 20 * yScale2, y - 100 * yScale2, x - 80 * yScale2 + 20 * yScale2 + 80 * yScale2, y - 100 * yScale2);
- }
- else
- {
- //P1 x, y
- //P2 x + 80 * yScale, y
- //P3 x - 20 * yScale2, y - 100 * yScale2
- //P4 x - 20 * yScale2 + 80 * yScale2, y - 100 * yScale2
- fill(255, 0, 0);
- triangle(x, y, x + 80 * yScale, y, x - 20 * yScale2, y - 100 * yScale2);
- triangle(x + 80 * yScale, y, x - 20 * yScale2, y - 100 * yScale2, x - 20 * yScale2 + 80 * yScale2, y - 100 * yScale2);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement