/* Surrender Isles. MADE BY: P.Y. Boulerice -> Move your mouse left and right to scroll through the world. -> You can control various other things by moving your mouse up and down. (Time of Day, Sea Creature's Head) -> At the top there is a small 'HUD' that displays an overview of the map and your current position in the world. */ void setup() { // Creates a window 400 pixels by 400 pixels. size(400, 400); // Removes the cursor. noCursor(); } void draw() { frameRate(60); // Background /* Changes the color of the background(water), relative to the mouse Y position. Creates a day and night effect. */ background(190 - (mouseY / 5.), 232 - (mouseY / 4.), 255 - (mouseY / 5.)); // Doesnt genenrate an outline for shapes. noStroke(); // Changes the positioning of rectangles to be set with their top right corner. rectMode(CORNER); // Changes the positioning of ellipses to be set with their top right corner. ellipseMode(CORNER); // Water /* Adds dynamic dark spots in the water */ fill(0, 30); ellipse((mouseX * 5), 100, 20, 20); ellipse(-600 + (mouseX * 5), 110, 10, 10); ellipse(-500 + (mouseX * 4), 200, 10, 10); ellipse(-500 + (mouseX * 5), 300, 20, 20); ellipse(-900 + (mouseX * 4), 350, 10, 10); ellipse(-1800 + (mouseX * 5), 325, 15, 15); ellipse(-1300 + (mouseX * 4), 100, 10, 10); // LAYER 1 (Items futher away) // All objects on this layer move right to left using the 'mouseX' built in variable. // *********************************************************************************** // Ripple *Nicholas Phan and Rachell Theil's Suggestion* /* Creates a ripple in the water for the Blinking Floters. The ripple enlarges and shrinks automatically using a sine function and 'frameCount'. */ stroke(255, 255 - ((float) Math.sin(frameCount * 0.05) * 255)); noFill(); ellipseMode(CENTER); ellipse(-88 + (mouseX * 6), 120 + 10, 45 + ((float) Math.sin(frameCount * 0.1) * 12), 45 + ((float) Math.sin(frameCount * 0.1) * 12)); // Hot Air Balloon 1 /* Creates a hot air balloon. It bobs up and down using a sine function and 'frameCount'. It also has a shadow that works similarily to the Ripple. */ ellipseMode(CENTER); fill(0); stroke(1); line(-200 + (mouseX * 5), 75 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12), -180 + (mouseX * 5), 125 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12)); line(-153 + (mouseX * 5), 75 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12), -170 + (mouseX * 5), 125 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12)); noStroke(); fill(0, 35); ellipse(-175 + (mouseX * 5), 155, ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12) + 15, ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12) + 10); ellipseMode(CORNER); fill(255, 103, 97); ellipse(-200 + (mouseX * 5), 50 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 50, 50); fill(255, 136, 122); ellipse(-185 + (mouseX * 5), 52 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 20, 10); fill(199, 162, 102); rect(-185 + (mouseX * 5), 110 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 20, 20, 20); fill(150, 123, 77); rect(-185 + (mouseX * 5), 110 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 20, 15, 20); fill(199, 162, 102); rect(-183 + (mouseX * 5), 112 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 16, 11, 20); fill(112, 91, 57); rect(-183 + (mouseX * 5), 115 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 16, 8, 20); // Floater /* Creates a floater */ fill(0, 30); rect(-100 +(mouseX * 6), 120, 25, 25, 20); // Water Shadow fill(255); rect(-100 +(mouseX * 6), 120 - 5, 25, 25, 20); fill(255, 103, 97); rect(-100 +(mouseX * 6), 120 - 10, 25, 25, 20); fill(255); rect(-100 +(mouseX * 6), 120 - 15, 25, 25, 20); fill(255, 103, 97); rect(-95 +(mouseX * 6), 120 - 18, 15, 15, 20); fill(255); rect(-95 +(mouseX * 6), 120 -21, 15, 15, 20); fill(255, 103, 97); rect(-95 +(mouseX * 6), 120 -24, 15, 15, 20); fill(209, 85, 79); rect(-93 +(mouseX * 6), 120 -24, 11, 11, 20); // Ship /* Creates a ship. */ fill(0, 30); rect(100 +(mouseX * 6), 120, 50, 25, 20); // Water Shadow fill(199, 162, 102); // Body rect(100 + (mouseX * 6), 120 - 5, 50, 25, 20); fill(133, 108, 68); // Edge rect(100 + (mouseX * 6), 120 - 10, 50, 25, 20); fill(150, 123, 77); // Edge (Light) rect(102 + (mouseX * 6), 120 - 8, 46, 21, 20); fill(112, 91, 57); // Edge (Dark) rect(102 + (mouseX * 6), 120 - 6, 46, 19, 20); fill(255); // Sail (White) rect(100 + (mouseX * 6), 120 - 38, 50, 25, 20); fill(150, 123, 77); // Post (Light) rect(100 + (mouseX * 6) + 25, 120 - 40, 4, 45, 20); fill(150, 123, 77); // Post (Light) rect(100 + (mouseX * 6), 120 - 38, 50, 4, 20); // Ship /* Creates a ship. */ fill(0, 30); rect(-400 +(mouseX * 6), 120, 50, 25, 20); // Water Shadow fill(199, 162, 102); // Body rect(-400 + (mouseX * 6), 120 - 5, 50, 25, 20); fill(133, 108, 68); // Edge rect(-400 + (mouseX * 6), 120 - 10, 50, 25, 20); fill(150, 123, 77); // Edge (Light) rect(-398 + (mouseX * 6), 120 - 8, 46, 21, 20); fill(112, 91, 57); // Edge (Dark) rect(-398 + (mouseX * 6), 120 - 6, 46, 19, 20); fill(255); // Sail (White) rect(-400 + (mouseX * 6), 120 - 38, 50, 25, 20); fill(150, 123, 77); // Post (Light) rect(-400 + (mouseX * 6) + 25, 120 - 40, 4, 45, 20); fill(150, 123, 77); // Post (Light) rect(-400 + (mouseX * 6), 120 - 38, 50, 4, 20); // LAYER 2 // All objects on this layer move right to left using the 'mouseX' built in variable. // *********************************************************************************** // Highway /* Creates the bottom of the highway. Is placed under the islands shapes. Yellow car drives overtop of it. */ fill(0, 30); rect(-990 +(mouseX * 10), 200 + 35, 1100, 35, 20); fill(240); rect(-990 +(mouseX * 10), 200 + 23, 1100, 35, 20); fill(220); rect(-990 +(mouseX * 10), 200 + 18, 1100, 35, 20); // Dock1 Posts fill(237, 193, 122); rect(-1035 +(mouseX * 10), 200, 10, 35, 20); fill(237, 193, 122); rect(-1085 +(mouseX * 10), 200, 10, 35, 20); // Dock1 *Nicholas Phan's Suggestion* /* Creates the bottom of the dock. Is placed under the island shapes. */ fill(0, 30); rect(-1125 +(mouseX * 10), 200 + 35, 175, 35, 20); fill(150, 123, 77); rect(-1125 +(mouseX * 10), 200 + 18, 175, 35, 20); fill(112, 91, 57); rect(-1125 +(mouseX * 10), 200 + 16, 175, 35, 20); // Bridge 1 Posts (For the highway) fill(250); rect(-75 +(mouseX * 10), 200, 10, 35, 20); fill(250); rect(-15 +(mouseX * 10), 200, 10, 35, 20); // Bridge 2 Posts (For the Highway) fill(250); rect(-485 +(mouseX * 10), 200, 10, 35, 20); fill(250); rect(-425 + (mouseX * 10), 200, 10, 35, 20); // Island /* Creates a green island. 200 pixels wide. */ fill(0, 30); rect(20 +(mouseX * 10), 200, 200, 100, 20); fill(153, 129, 102); rect(20 +(mouseX * 10), 200 - 5, 200, 100, 20); fill(134, 114, 90); rect(20 +(mouseX * 10), 200 - 17, 200, 100, 20); fill(128, 191, 88); rect(20 +(mouseX * 10), 200 - 20, 200, 100, 20); fill(144, 212, 100); rect(20 +(mouseX * 10), 200 - 25, 200, 100, 20); fill(152, 224, 106); rect(24 +(mouseX * 10), 200 -21, 192, 92, 20); // Lighthouse /* Creates a lighthouse. Constructed from rectangles with rounded corners. */ fill(255); rect(155 +(mouseX * 10), 200, 52, 52, 40); fill(255, 103, 97); rect(155 +(mouseX * 10), 200 - 10, 52, 52, 40); fill(255); rect(155 +(mouseX * 10), 200 - 20, 52, 52, 40); fill(255, 103, 97); rect(155 +(mouseX * 10), 200 - 30, 52, 52, 40); fill(255); rect(155 +(mouseX * 10), 200 - 40, 52, 52, 40); fill(255, 103, 97); rect(168 +(mouseX * 10), 200 - 40, 26, 26, 40); fill(255); rect(168 +(mouseX * 10), 200 - 50, 26, 26, 40); fill(255, 103, 97); rect(168 +(mouseX * 10), 200 - 60, 26, 26, 40); // Door (Lighthouse) fill(80); rect(170 +(mouseX * 10), 200 + 35, 20, 17, 40); rect(170 +(mouseX * 10), 200 + 42, 20, 10); // Island /* Creates a green island. 300 pixels wide. */ fill(0, 30); rect(-400 +(mouseX * 10), 200, 300, 100, 20); fill(153, 129, 102); rect(-400 +(mouseX * 10), 200 - 5, 300, 100, 20); fill(134, 114, 90); rect(-400 +(mouseX * 10), 200 - 17, 300, 100, 20); fill(128, 191, 88); rect(-400 +(mouseX * 10), 200 - 20, 300, 100, 20); fill(144, 212, 100); rect(-400 +(mouseX * 10), 200 - 25, 300, 100, 20); fill(152, 224, 106); rect(-396 +(mouseX * 10), 200 -21, 292, 92, 20); // Tree fill(128, 191, 88); rect(-175 + (mouseX * 10) + 25, 200 - 35, 4, 45, 20); fill(150, 123, 77); rect(-175 + (mouseX * 10) + 25, 200 - 40, 4, 45, 20); fill(224, 152, 149); ellipse(-188 + (mouseX * 10) + 25, 200 - 45, 30, 30); fill(255, 173, 170); ellipse(-188 + (mouseX * 10) + 25, 200 - 50, 30, 30); // Tree fill(128, 191, 88); rect(-275 + (mouseX * 10) + 25, 200 - 35, 4, 45, 20); fill(150, 123, 77); rect(-275 + (mouseX * 10) + 25, 200 - 40, 4, 45, 20); fill(224, 152, 149); ellipse(-288 + (mouseX * 10) + 25, 200 - 45, 30, 30); fill(255, 173, 170); ellipse(-288 + (mouseX * 10) + 25, 200 - 50, 30, 30); // Tree fill(128, 191, 88); rect(-375 + (mouseX * 10) + 25, 200 - 35, 4, 45, 20); fill(150, 123, 77); rect(-375 + (mouseX * 10) + 25, 200 - 40, 4, 45, 20); fill(224, 152, 149); ellipse(-388 + (mouseX * 10) + 25, 200 - 45, 30, 30); fill(255, 173, 170); ellipse(-388 + (mouseX * 10) + 25, 200 - 50, 30, 30); // Island /* Creates a green island. 500 pixels wide. */ fill(0, 30); rect(-1000 +(mouseX * 10), 200, 500, 100, 20); fill(153, 129, 102); rect(-1000 +(mouseX * 10), 200 - 5, 500, 100, 20); fill(134, 114, 90); rect(-1000 +(mouseX * 10), 200 - 17, 500, 100, 20); fill(128, 191, 88); rect(-1000 +(mouseX * 10), 200 - 20, 500, 100, 20); fill(144, 212, 100); rect(-1000 +(mouseX * 10), 200 - 25, 500, 100, 20); fill(152, 224, 106); rect(-996 +(mouseX * 10), 200 -21, 492, 92, 20); // Flag Pole /* Creates a pole with a flag on top. Half of the flag moves up and down using a sine fuction and 'frameCount'. This gives an illusion that the wind is flowing through it. */ fill(255); rect(-955 + (mouseX * 10), 200 - 95, 30, 25, 20); rect(-930 + (mouseX * 10), 200 - 95 + ( sin(mouseX * .2) * 5.), 30, 25, 20); fill(153, 129, 102); rect(-955 + (mouseX * 10), 200 - 95, 8, 100, 20); // Ship /* Creates a ship. */ fill(0, 30); rect(-1300 +(mouseX * 10), 200, 50, 25, 20); // Water Shadow fill(199, 162, 102); // Body rect(-1300 + (mouseX * 10), 200 - 5, 50, 25, 20); fill(133, 108, 68); // Edge rect(-1300 + (mouseX * 10), 200 - 10, 50, 25, 20); fill(150, 123, 77); // Edge (Light) rect(-1300 + (mouseX * 10), 200 - 8, 46, 21, 20); fill(112, 91, 57); // Edge (Dark) rect(-1298 + (mouseX * 10), 200 - 6, 46, 19, 20); fill(255); // Sail (White) rect(-1300 + (mouseX * 10), 200 - 38, 50, 25, 20); fill(150, 123, 77); // Post (Light) rect(-1300 + (mouseX * 10) + 25, 200 - 40, 4, 45, 20); fill(150, 123, 77); // Post (Light) rect(-1300 + (mouseX * 10), 200 - 38, 50, 4, 20); // Highway /* Creates the top part of the highway. (Over the previous islands) */ fill(90); rect(-940 +(mouseX * 10), 200 + 14, 1080, 35, 20); fill(110); rect(-940 +(mouseX * 10), 200 + 12, 1080, 35, 20); // Highway Lines /* Creates white lines along the center of the highway. */ fill(255); rect(-910 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-870 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-830 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-790 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-750 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-710 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-670 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-630 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-590 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-550 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-510 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-470 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-430 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-390 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-350 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-310 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-270 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-230 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-190 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-150 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-110 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-70 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(-30 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(10 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(50 + (mouseX * 10), 200 + 26, 20, 3, 20); rect(90 + (mouseX * 10), 200 + 26, 20, 3, 20); // Dock 1 /* Creates the top part of the dock. (Over the previous island) */ fill(150, 123, 77); rect(-1125 +(mouseX * 10), 200 + 14, 166, 35, 20); fill(199, 162, 102); rect(-1125 +(mouseX * 10), 200 + 12, 166, 35, 20); // Dock1 Detail (Wood Palets) fill(50, 40); rect(-1110 +(mouseX * 10), 200 + 14, 2, 31, 20); rect(-1095 +(mouseX * 10), 200 + 14, 2, 31, 20); rect(-1080 +(mouseX * 10), 200 + 14, 2, 31, 20); rect(-1065 +(mouseX * 10), 200 + 14, 2, 31, 20); rect(-1050 +(mouseX * 10), 200 + 14, 2, 31, 20); rect(-1035 +(mouseX * 10), 200 + 14, 2, 31, 20); rect(-1020 +(mouseX * 10), 200 + 14, 2, 31, 20); rect(-1005 +(mouseX * 10), 200 + 14, 2, 31, 20); rect(-990 +(mouseX * 10), 200 + 14, 2, 31, 20); rect(-975 +(mouseX * 10), 200 + 14, 2, 31, 20); // Dock1 Posts fill(0, 30); rect(-1035 +(mouseX * 10), 200 + 41, 10, 35, 20); fill(237, 193, 122); rect(-1035 +(mouseX * 10), 200 + 36, 10, 35, 20); fill(0, 30); rect(-1085 +(mouseX * 10), 200 + 41, 10, 35, 20); fill(237, 193, 122); rect(-1085 +(mouseX * 10), 200 + 36, 10, 35, 20); // Car 1 /* Creates a yellow car for the highway. */ fill(255, 233, 100); rect(-1100 +(mouseX * 20), 200 + 5, 50, 30, 20); // Cab rect(-1100 +(mouseX * 20), 200 + 17, 50, 18); // Cab fill(50); ellipse(-1096 +(mouseX * 20), 200 + 28, 12, 12); // Wheel ellipse(-1066 +(mouseX * 20), 200 + 28, 12, 12); // Wheel // Bridge 1 Posts (HighWay) fill(0, 30); rect(-75 +(mouseX * 10), 200 + 41, 10, 35, 20); fill(0, 30); rect(-15 +(mouseX * 10), 200 + 41, 10, 35, 20); fill(250); rect(-75 +(mouseX * 10), 200 + 36, 10, 35, 20); fill(250); rect(-15 +(mouseX * 10), 200 + 36, 10, 35, 20); // Bridge 2 Posts (HighWay) fill(0, 30); rect(-485 +(mouseX * 10), 200 + 41, 10, 35, 20); fill(0, 30); rect(-425 +(mouseX * 10), 200 + 41, 10, 35, 20); fill(250); rect(-485 +(mouseX * 10), 200 + 36, 10, 35, 20); fill(250); rect(-425 +(mouseX * 10), 200 + 36, 10, 35, 20); // Tree (LOW) fill(128, 191, 88); rect(-225 + (mouseX * 10) + 25, 200 + 15, 4, 45, 20); fill(150, 123, 77); rect(-225 + (mouseX * 10) + 25, 200 + 10, 4, 45, 20); fill(224, 152, 149); ellipse(-238 + (mouseX * 10) + 25, 200 + 5, 30, 30); fill(255, 173, 170); ellipse(-238 + (mouseX * 10) + 25, 200 + 0, 30, 30); // Tree (LOW) fill(128, 191, 88); rect(-325 + (mouseX * 10) + 25, 200 + 15, 4, 45, 20); fill(150, 123, 77); rect(-325 + (mouseX * 10) + 25, 200 + 10, 4, 45, 20); fill(224, 152, 149); ellipse(-338 + (mouseX * 10) + 25, 200 + 5, 30, 30); fill(255, 173, 170); ellipse(-338 + (mouseX * 10) + 25, 200 + 0, 30, 30); // LAYER 3 // All objects on this layer move right to left using the 'mouseX' built in variable. // *********************************************************************************** // Small Island /* Creates a small island. 100 pixels wide. */ fill(0, 30); rect(0 +(mouseX * 12), 340, 100, 50, 20); fill(153, 129, 102); rect(0 +(mouseX * 12), 340 - 5, 100, 50, 20); fill(134, 114, 90); rect(0 +(mouseX * 12), 340 - 17, 100, 50, 20); fill(128, 191, 88); rect(0 +(mouseX * 12), 340 - 20, 100, 50, 20); fill(144, 212, 100); rect(0 +(mouseX * 12), 340 - 25, 100, 50, 20); fill(152, 224, 106); rect(4 +(mouseX * 12), 340 - 21, 92, 42, 20); // Small Island /* Creates a small island. 100 pixels wide. */ fill(0, 30); rect(-700 +(mouseX * 12), 340, 100, 50, 20); fill(153, 129, 102); rect(-700 +(mouseX * 12), 340 - 5, 100, 50, 20); fill(134, 114, 90); rect(-700 +(mouseX * 12), 340 - 17, 100, 50, 20); fill(128, 191, 88); rect(-700 +(mouseX * 12), 340 - 20, 100, 50, 20); fill(144, 212, 100); rect(-700 +(mouseX * 12), 340 - 25, 100, 50, 20); fill(152, 224, 106); rect(-696 +(mouseX * 12), 340 - 21, 92, 42, 20); // Small Island /* Creates a small island. 100 pixels wide. */ fill(0, 30); rect(-1800 +(mouseX * 12), 340, 100, 50, 20); fill(153, 129, 102); rect(-1800 +(mouseX * 12), 340 - 5, 100, 50, 20); fill(134, 114, 90); rect(-1800 +(mouseX * 12), 340 - 17, 100, 50, 20); fill(128, 191, 88); rect(-1800 +(mouseX * 12), 340 - 20, 100, 50, 20); fill(144, 212, 100); rect(-1800 +(mouseX * 12), 340 - 25, 100, 50, 20); fill(152, 224, 106); rect(-1796 +(mouseX * 12), 340 - 21, 92, 42, 20); // Ship /* Creates a ship. */ fill(0, 30); rect(-200 +(mouseX * 12), 340, 50, 25, 20); // Water Shadow fill(199, 162, 102); // Body rect(-200 + (mouseX * 12), 340 - 5, 50, 25, 20); fill(133, 108, 68); // Edge rect(-200 + (mouseX * 12), 340 - 10, 50, 25, 20); fill(150, 123, 77); // Edge (Light) rect(-198 + (mouseX * 12), 340 - 8, 46, 21, 20); fill(112, 91, 57); // Edge (Dark) rect(-198 + (mouseX * 12), 340 - 6, 46, 19, 20); fill(255); // Sail (White) rect(-200 + (mouseX * 12), 340 - 38, 50, 25, 20); fill(150, 123, 77); // Post (Light) rect(-200 + (mouseX * 12) + 25, 340 - 40, 4, 45, 20); fill(150, 123, 77); // Post (Light) rect(-200 + (mouseX * 12), 340 - 38, 50, 4, 20); // Ripple /* Creates a ripple in the water for the Blinking Floters. The ripple enlarges and shrinks automatically using a sine function and 'frameCount'. */ stroke(255, 255 - ((float) Math.cos(frameCount * 0.05) * 255)); noFill(); ellipseMode(CENTER); ellipse(-788 + (mouseX * 10), 340 + 10, 45 + ((float) Math.sin(frameCount * 0.1) * 12), 45 + ((float) Math.sin(frameCount * 0.1) * 12)); noStroke(); // Floater /* Creates a floater */ fill(0, 30); rect(-800 +(mouseX * 10), 340, 25, 25, 20); // Water Shadow fill(255); rect(-800 +(mouseX * 10), 340 - 5, 25, 25, 20); fill(255, 103, 97); rect(-800 +(mouseX * 10), 340 - 10, 25, 25, 20); fill(255); rect(-800 +(mouseX * 10), 340 - 15, 25, 25, 20); fill(255, 103, 97); rect(-795 +(mouseX * 10), 340 - 18, 15, 15, 20); fill(255); rect(-795 +(mouseX * 10), 340 -21, 15, 15, 20); fill(255, 103, 97); rect(-795 +(mouseX * 10), 340 -24, 15, 15, 20); fill(209, 85, 79); rect(-793 +(mouseX * 10), 340 -24, 11, 11, 20); // Hot Air Balloon 3 /* Creates a hot air balloon. It bobs up and down using a sine function and 'frameCount'. It also has a shadow that works similarily to the Ripple. */ ellipseMode(CENTER); fill(0); stroke(1); line(-700 + (mouseX * 5), 175 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12), -680 + (mouseX * 5), 225 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12)); line(-653 + (mouseX * 5), 175 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12), -670 + (mouseX * 5), 225 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12)); noStroke(); fill(0, 35); ellipse(-675 + (mouseX * 5), 255, ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12) + 15, ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12) + 10); ellipseMode(CORNER); fill(255, 103, 97); ellipse(-700 + (mouseX * 5), 150 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 50, 50); fill(255, 136, 122); ellipse(-685 + (mouseX * 5), 152 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 20, 10); fill(199, 162, 102); rect(-685 + (mouseX * 5), 210 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 20, 20, 20); fill(150, 123, 77); rect(-685 + (mouseX * 5), 210 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 20, 15, 20); fill(199, 162, 102); rect(-683 + (mouseX * 5), 212 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 16, 11, 20); fill(112, 91, 57); rect(-683 + (mouseX * 5), 215 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 16, 8, 20); // KINGDOM // All objects on this layer move right to left using the 'mouseX' built in variable. // *********************************************************************************** // Ship /* Creates a ship. */ fill(0, 30); rect(-2200 +(mouseX * 8), 120, 50, 25, 20); // Water Shadow fill(199, 162, 102); // Body rect(-2200 + (mouseX * 8), 120 - 5, 50, 25, 20); fill(133, 108, 68); // Edge rect(-2200 + (mouseX * 8), 120 - 10, 50, 25, 20); fill(150, 123, 77); // Edge (Light) rect(-2198 + (mouseX * 8), 120 - 8, 46, 21, 20); fill(112, 91, 57); // Edge (Dark) rect(-2198 + (mouseX * 8), 120 - 6, 46, 19, 20); fill(255); // Sail (White) rect(-2200 + (mouseX * 8), 120 - 38, 50, 25, 20); fill(150, 123, 77); // Post (Light) rect(-2200 + (mouseX * 8) + 25, 120 - 40, 4, 45, 20); fill(150, 123, 77); // Post (Light) rect(-2200 + (mouseX * 8), 120 - 38, 50, 4, 20); // Island /* Creates an island. 1000 pixels wide. */ fill(0, 30); rect(-3000 +(mouseX * 10), 200, 1000, 100, 20); fill(153, 129, 102); rect(-3000 +(mouseX * 10), 200 - 5, 1000, 100, 20); fill(134, 114, 90); rect(-3000 +(mouseX * 10), 200 - 17, 1000, 100, 20); fill(189, 128, 126); rect(-3000 +(mouseX * 10), 200 - 20, 1000, 100, 20); fill(224, 152, 149); rect(-3000 +(mouseX * 10), 200 - 25, 1000, 100, 20); fill(255, 173, 170); rect(-2996 +(mouseX * 10), 200 -21, 992, 92, 20); // Flag Pole /* Creates a pole with a flag on top. Half of the flag moves up and down using a sine fuction and 'frameCount'. This gives an illusion that the wind is flowing through it. */ fill(255); rect(-2965 + (mouseX * 10), 200 - 65, 30, 25, 20); rect(-2940 + (mouseX * 10), 200 - 65 + ( sin(mouseX * .2) * 5.), 30, 25, 20); fill(153, 129, 102); rect(-2965 + (mouseX * 10), 200 - 65, 8, 100, 20); // Highway (Kingdom) /* Creates the top part of the highway. (Over the previous islands) */ fill(90); rect(-2925 +(mouseX * 10), 200 + 14, 800, 35, 20); fill(110); rect(-2925 +(mouseX * 10), 200 + 12, 800, 35, 20); // Small Island /* Creates a small island. 100 pixels wide. */ fill(0, 30); rect(-2500 +(mouseX * 12), 340, 100, 50, 20); fill(153, 129, 102); rect(-2500 +(mouseX * 12), 340 - 5, 100, 50, 20); fill(134, 114, 90); rect(-2500 +(mouseX * 12), 340 - 17, 100, 50, 20); fill(189, 128, 126); rect(-2500 +(mouseX * 12), 340 - 20, 100, 50, 20); fill(224, 152, 149); rect(-2500 +(mouseX * 12), 340 - 25, 100, 50, 20); fill(255, 173, 170); rect(-2496 +(mouseX * 12), 340 - 21, 92, 42, 20); // Small Island /* Creates a small island. 100 pixels wide. */ fill(0, 30); rect(-3500 +(mouseX * 12), 340, 100, 50, 20); fill(153, 129, 102); rect(-3500 +(mouseX * 12), 340 - 5, 100, 50, 20); fill(134, 114, 90); rect(-3500 +(mouseX * 12), 340 - 17, 100, 50, 20); fill(189, 128, 126); rect(-3500 +(mouseX * 12), 340 - 20, 100, 50, 20); fill(224, 152, 149); rect(-3500 +(mouseX * 12), 340 - 25, 100, 50, 20); fill(255, 173, 170); rect(-3496 +(mouseX * 12), 340 - 21, 92, 42, 20); // Ripple /* Creates a ripple in the water for the Blinking Floters. The ripple enlarges and shrinks automatically using a sine function and 'frameCount'. */ stroke(255, 255 - ((float) Math.cos(frameCount * 0.05) * 255)); noFill(); ellipseMode(CENTER); ellipse(-1888 + (mouseX * 10), 200 + 10, 45 + ((float) Math.sin(frameCount * 0.1) * 12), 45 + ((float) Math.sin(frameCount * 0.1) * 12)); noStroke(); // Floater /* Creates a floater */ fill(0, 30); rect(-1900 +(mouseX * 10), 200, 25, 25, 20); // Water Shadow fill(255); rect(-1900 +(mouseX * 10), 200 - 5, 25, 25, 20); fill(255, 103, 97); rect(-1900 +(mouseX * 10), 200 - 10, 25, 25, 20); fill(255); rect(-1900 +(mouseX * 10), 200 - 15, 25, 25, 20); fill(255, 103, 97); rect(-1895 +(mouseX * 10), 200 - 18, 15, 15, 20); fill(255); rect(-1895 +(mouseX * 10), 200 -21, 15, 15, 20); fill(255, 103, 97); rect(-1895 +(mouseX * 10), 200 -24, 15, 15, 20); fill(209, 85, 79); rect(-1893 +(mouseX * 10), 200 -24, 11, 11, 20); // Hot Air Balloon 2 /* Creates a hot air balloon. It bobs up and down using a sine function and 'frameCount'. It also has a shadow that works similarily to the Ripple. */ ellipseMode(CENTER); fill(0); stroke(1); line(-1200 + (mouseX * 5), 75 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12), -1180 + (mouseX * 5), 125 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12)); line(-1153 + (mouseX * 5), 75 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12), -1170 + (mouseX * 5), 125 + ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12)); noStroke(); fill(0, 35); ellipse(-1175 + (mouseX * 5), 155, ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12) + 15, ((float) Math.sin(0.7 * (frameCount * 0.1)) * 12) + 10); ellipseMode(CORNER); fill(255, 103, 97); ellipse(-1200 + (mouseX * 5), 50 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 50, 50); fill(255, 136, 122); ellipse(-1185 + (mouseX * 5), 52 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 20, 10); fill(199, 162, 102); rect(-1185 + (mouseX * 5), 110 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 20, 20, 20); fill(150, 123, 77); rect(-1185 + (mouseX * 5), 110 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 20, 15, 20); fill(199, 162, 102); rect(-1183 + (mouseX * 5), 112 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 16, 11, 20); fill(112, 91, 57); rect(-1183 + (mouseX * 5), 115 + (float) Math.sin(0.7 * (frameCount * 0.1)) * 12, 16, 8, 20); // Tree fill(189, 128, 126); rect(-2175 + (mouseX * 10) + 25, 200 - 35, 4, 45, 20); fill(150, 123, 77); rect(-2175 + (mouseX * 10) + 25, 200 - 40, 4, 45, 20); fill(144, 212, 100); ellipse(-2188 + (mouseX * 10) + 25, 200 - 45, 30, 30); fill(152, 224, 106); ellipse(-2188 + (mouseX * 10) + 25, 200 - 50, 30, 30); // Tree fill(189, 128, 126); rect(-2275 + (mouseX * 10) + 25, 200 - 35, 4, 45, 20); fill(150, 123, 77); rect(-2275 + (mouseX * 10) + 25, 200 - 40, 4, 45, 20); fill(144, 212, 100); ellipse(-2288 + (mouseX * 10) + 25, 200 - 45, 30, 30); fill(152, 224, 106); ellipse(-2288 + (mouseX * 10) + 25, 200 - 50, 30, 30); // Tree fill(189, 128, 126); rect(-2375 + (mouseX * 10) + 25, 200 - 35, 4, 45, 20); fill(150, 123, 77); rect(-2375 + (mouseX * 10) + 25, 200 - 40, 4, 45, 20); fill(144, 212, 100); ellipse(-2388 + (mouseX * 10) + 25, 200 - 45, 30, 30); fill(152, 224, 106); ellipse(-2388 + (mouseX * 10) + 25, 200 - 50, 30, 30); // Tree fill(189, 128, 126); rect(-2475 + (mouseX * 10) + 25, 200 - 35, 4, 45, 20); fill(150, 123, 77); rect(-2475 + (mouseX * 10) + 25, 200 - 40, 4, 45, 20); fill(144, 212, 100); ellipse(-2488 + (mouseX * 10) + 25, 200 - 45, 30, 30); fill(152, 224, 106); ellipse(-2488 + (mouseX * 10) + 25, 200 - 50, 30, 30); // Tree fill(189, 128, 126); rect(-2575 + (mouseX * 10) + 25, 200 - 35, 4, 45, 20); fill(150, 123, 77); rect(-2575 + (mouseX * 10) + 25, 200 - 40, 4, 45, 20); fill(144, 212, 100); ellipse(-2588 + (mouseX * 10) + 25, 200 - 45, 30, 30); fill(152, 224, 106); ellipse(-2588 + (mouseX * 10) + 25, 200 - 50, 30, 30); // Car 2 /* Creates a yellow car for the Kingdom highway. */ fill(255, 233, 100); rect(-5200 +(mouseX * 20), 200 + 5, 50, 30, 20); // Cab rect(-5200 +(mouseX * 20), 200 + 17, 50, 18); // Cab fill(50); ellipse(-5196 +(mouseX * 20), 200 + 28, 12, 12); // Wheel ellipse(-5166 +(mouseX * 20), 200 + 28, 12, 12); // Wheel // Tree (LOW) fill(189, 128, 126); rect(-2225 + (mouseX * 10) + 25, 200 + 15, 4, 45, 20); fill(150, 123, 77); rect(-2225 + (mouseX * 10) + 25, 200 + 10, 4, 45, 20); fill(144, 212, 100); ellipse(-2238 + (mouseX * 10) + 25, 200 + 5, 30, 30); fill(152, 224, 106); ellipse(-2238 + (mouseX * 10) + 25, 200 + 0, 30, 30); // Tree (LOW) fill(189, 128, 126); rect(-2325 + (mouseX * 10) + 25, 200 + 15, 4, 45, 20); fill(150, 123, 77); rect(-2325 + (mouseX * 10) + 25, 200 + 10, 4, 45, 20); fill(144, 212, 100); ellipse(-2338 + (mouseX * 10) + 25, 200 + 5, 30, 30); fill(152, 224, 106); ellipse(-2338 + (mouseX * 10) + 25, 200 + 0, 30, 30); // Tree (LOW) fill(189, 128, 126); rect(-2425 + (mouseX * 10) + 25, 200 + 15, 4, 45, 20); fill(150, 123, 77); rect(-2425 + (mouseX * 10) + 25, 200 + 10, 4, 45, 20); fill(144, 212, 100); ellipse(-2438 + (mouseX * 10) + 25, 200 + 5, 30, 30); fill(152, 224, 106); ellipse(-2438 + (mouseX * 10) + 25, 200 + 0, 30, 30); // Tree (LOW) fill(189, 128, 126); rect(-2525 + (mouseX * 10) + 25, 200 + 15, 4, 45, 20); fill(150, 123, 77); rect(-2525 + (mouseX * 10) + 25, 200 + 10, 4, 45, 20); fill(144, 212, 100); ellipse(-2538 + (mouseX * 10) + 25, 200 + 5, 30, 30); fill(152, 224, 106); ellipse(-2538 + (mouseX * 10) + 25, 200 + 0, 30, 30); // Ship /* Creates a ship. */ fill(0, 30); rect(-2800 +(mouseX * 8), 120, 50, 25, 20); // Water Shadow fill(199, 162, 102); // Body rect(-2800 + (mouseX * 8), 120 - 5, 50, 25, 20); fill(133, 108, 68); // Edge rect(-2800 + (mouseX * 8), 120 - 10, 50, 25, 20); fill(150, 123, 77); // Edge (Light) rect(-2798 + (mouseX * 8), 120 - 8, 46, 21, 20); fill(112, 91, 57); // Edge (Dark) rect(-2798 + (mouseX * 8), 120 - 6, 46, 19, 20); fill(255); // Sail (White) rect(-2800 + (mouseX * 8), 120 - 38, 50, 25, 20); fill(150, 123, 77); // Post (Light) rect(-2800 + (mouseX * 8) + 25, 120 - 40, 4, 45, 20); fill(150, 123, 77); // Post (Light) rect(-2800 + (mouseX * 8), 120 - 38, 50, 4, 20); // Ship /* Creates a ship. */ fill(0, 30); rect(-2500 +(mouseX * 8), 120, 50, 25, 20); // Water Shadow fill(199, 162, 102); // Body rect(-2500 + (mouseX * 8), 120 - 5, 50, 25, 20); fill(133, 108, 68); // Edge rect(-2500 + (mouseX * 8), 120 - 10, 50, 25, 20); fill(150, 123, 77); // Edge (Light) rect(-2498 + (mouseX * 8), 120 - 8, 46, 21, 20); fill(112, 91, 57); // Edge (Dark) rect(-2498 + (mouseX * 8), 120 - 6, 46, 19, 20); fill(255); // Sail (White) rect(-2500 + (mouseX * 8), 120 - 38, 50, 25, 20); fill(150, 123, 77); // Post (Light) rect(-2500 + (mouseX * 8) + 25, 120 - 40, 4, 45, 20); fill(150, 123, 77); // Post (Light) rect(-2500 + (mouseX * 8), 120 - 38, 50, 4, 20); // Ship /* Creates a ship. */ fill(0, 30); rect(-3300 +(mouseX * 10), 200, 50, 25, 20); // Water Shadow fill(199, 162, 102); // Body rect(-3300 + (mouseX * 10), 200 - 5, 50, 25, 20); fill(133, 108, 68); // Edge rect(-3300 + (mouseX * 10), 200 - 10, 50, 25, 20); fill(150, 123, 77); // Edge (Light) rect(-3298 + (mouseX * 10), 200 - 8, 46, 21, 20); fill(112, 91, 57); // Edge (Dark) rect(-3298 + (mouseX * 10), 200 - 6, 46, 19, 20); fill(255); // Sail (White) rect(-3300 + (mouseX * 10), 200 - 38, 50, 25, 20); fill(150, 123, 77); // Post (Light) rect(-3300 + (mouseX * 10) + 25, 200 - 40, 4, 45, 20); fill(150, 123, 77); // Post (Light) rect(-3300 + (mouseX * 10), 200 - 38, 50, 4, 20); // Ship /* Creates a ship. */ fill(0, 30); rect(-3800 +(mouseX * 12), 340, 50, 25, 20); // Water Shadow fill(199, 162, 102); // Body rect(-3800 + (mouseX * 12), 340 - 5, 50, 25, 20); fill(133, 108, 68); // Edge rect(-3800 + (mouseX * 12), 340 - 10, 50, 25, 20); fill(150, 123, 77); // Edge (Light) rect(-3798 + (mouseX * 12), 340 - 8, 46, 21, 20); fill(112, 91, 57); // Edge (Dark) rect(-3798 + (mouseX * 12), 340 - 6, 46, 19, 20); fill(255); // Sail (White) rect(-3800 + (mouseX * 12), 340 - 38, 50, 25, 20); fill(150, 123, 77); // Post (Light) rect(-3800 + (mouseX * 12) + 25, 340 - 40, 4, 45, 20); fill(150, 123, 77); // Post (Light) rect(-3800 + (mouseX * 12), 340 - 38, 50, 4, 20); // Castle /* Creates a grey castle. Made from rectangles with rounded edges. */ fill(224, 152, 149); rect(-2100 +(mouseX * 10), 200 - 35, 75, 75, 20); fill(220); rect(-2100 +(mouseX * 10), 200 - 40, 75, 75, 20); fill(180); rect(-2100 +(mouseX * 10), 200 - 40, 75, 40, 20); fill(220); rect(-2096 +(mouseX * 10), 200 - 36, 67, 32, 20); fill(150); rect(-2096 +(mouseX * 10), 200 - 32, 67, 28, 20); // Door for Castle fill(100); rect(-2080 + (mouseX * 10), 200 + 15, 20, 20, 20); fill(100); rect(-2080 + (mouseX * 10), 200 + 25, 20, 10); // Sea Creature /* Creates a purple creature at the end of the left side of the map. The creature is fabricated much like the islands. Opens mouth when mouse moves up. Closes mouth when mouse moves down. */ // Neck fill(0, 30); rect(-4070 +(mouseX * 10.5), 200 - 15, 100, 100, 20); fill(104, 91, 166); rect(-4070 +(mouseX * 10.5), 200 - 25, 100, 100, 20); fill(116, 102, 186); rect(-4070 +(mouseX * 10.5), 200 - 25, 100, 50, 20); fill(134, 118, 196); rect(-4065 +(mouseX * 10.5), 200 - 20, 90, 40, 20); // Head fill(0, 30); rect(-4000 +(mouseX * 10.5), 200 + 10, 200, 100, 20); fill(104, 91, 166); rect(-4000 +(mouseX * 10.5), 200, 200, 100, 20); fill(116, 102, 186); rect(-4000 +(mouseX * 10.5), 200 - 20, 200, 100, 20); fill(224, 152, 149); rect(-3990 +(mouseX * 10.5), 200 - 10, 180, 80, 20); fill(189, 128, 126); rect(-3990 +(mouseX * 10.5), 200 + 20, 180, 50, 20); fill(255, 173, 170); rect(-3990 +(mouseX * 10.5), 200 - 30, 40, 100, 20); fill(134, 118, 196); rect(-3991 +(mouseX * 10.5), 200 - 30, 30, 100, 20); fill(255); rect(-3945 +(mouseX * 10.5), 200 + 60, 20, 15, 20); rect(-3915 +(mouseX * 10.5), 200 + 60, 20, 15, 20); rect(-3885 +(mouseX * 10.5), 200 + 60, 20, 15, 20); rect(-3855 +(mouseX * 10.5), 200 + 60, 20, 15, 20); rect(-3930 +(mouseX * 10.5), 200 + 40 - (mouseY * 0.1), 20, 25, 20); rect(-3900 +(mouseX * 10.5), 200 + 40 - (mouseY * 0.1), 20, 25, 20); rect(-3870 +(mouseX * 10.5), 200 + 40 - (mouseY * 0.1), 20, 25, 20); rect(-3840 +(mouseX * 10.5), 200 + 40 - (mouseY * 0.1), 20, 25, 20); fill(104, 91, 166); rect(-4000 +(mouseX * 10.5), 200 - 50 - (mouseY * 0.1), 200, 100, 20); fill(116, 102, 186); rect(-4000 +(mouseX * 10.5), 200 - 100 - (mouseY * 0.1), 200, 100, 20); fill(134, 118, 196); rect(-3995 +(mouseX * 10.5), 200 - 95 - (mouseY * 0.1), 190, 90, 20); fill(255); ellipse(-3975 +(mouseX * 10.5), 200 + 10 - (mouseY * 0.1), 20, 20); fill(0); ellipse(-3970 +(mouseX * 10.5), 200 + 15 - (mouseY * 0.1), 10, 10); // Sea Creature Body fill(0, 30); rect(-4200 +(mouseX * 10.5), 200 - 25, 150, 150, 20); fill(104, 91, 166); rect(-4200 +(mouseX * 10.5), 200 - 35, 150, 150, 20); fill(116, 102, 186); rect(-4200 +(mouseX * 10.5), 200 - 150, 150, 150, 20); fill(134, 118, 196); rect(-4195 +(mouseX * 10.5), 200 - 145, 140, 140, 20); // Legs fill(0, 30); rect(-4150 +(mouseX * 10.5), 200 + 50, 50, 100, 20); fill(104, 91, 166); rect(-4150 +(mouseX * 10.5), 200 + 40, 50, 100, 20); fill(116, 102, 186); rect(-4150 +(mouseX * 10.5), 200 + 40, 50, 25, 20); fill(134, 118, 196); rect(-4145 +(mouseX * 10.5), 200 + 45, 40, 15, 20); // Clouds /* Creates white cloud clutter between the pink islands and the green islands. */ fill(255); rect(-2500 + (mouseX * 15), 100, 200, 200, 20); rect(-2300 + (mouseX * 13), 300, 75, 75, 20); rect(-2300 + (mouseX * 14), 10, 50, 50, 20); rect(-2200 + (mouseX * 15), 250, 20, 20, 20); rect(-3000 + (mouseX * 17), 120, 100, 100, 20); rect(-2800 + (mouseX * 15), 300, 20, 20, 20); // Clouds /* Creates white cloud clutter at the end of the right side of the map. */ fill(255); rect(300 + (mouseX * 15), 100, 200, 200, 20); rect(200 + (mouseX * 13), 300, 75, 75, 20); rect(250 + (mouseX * 14), 10, 50, 50, 20); rect(200 + (mouseX * 15), 250, 20, 20, 20); rect(350 + (mouseX * 17), 120, 100, 100, 20); rect(50 + (mouseX * 15), 300, 20, 20, 20); // Pirate Ship (SECRET) // Ship /* Creates a ship. */ fill(0, 30); rect(600 +(mouseX * 12), 250, 200, 100, 20); // Water Shadow fill(199, 162, 102); // Body rect(600 + (mouseX * 12), 250 - 5, 200, 100, 20); fill(133, 108, 68); // Edge rect(600 + (mouseX * 12), 250 - 10, 200, 75, 20); fill(150, 123, 77); // Edge (Light) rect(606 + (mouseX * 12), 250 - 4, 188, 63, 20); fill(112, 91, 57); // Edge (Dark) rect(606 + (mouseX * 12), 250 + 2, 188, 57, 20); fill(0); // Sail (White) rect(600 + (mouseX * 12), 250 - 125, 200, 100, 20); fill(150, 123, 77); // Post (Light) rect(600 + (mouseX * 12) + 100, 250 - 135, 12, 175, 20); fill(150, 123, 77); // Post (Light) rect(595 + (mouseX * 12), 250 - 130, 210, 12, 20); // Skeleton 1 fill(255); ellipse(625 + (mouseX * 12), 250 - 100, 50, 50); rect(638 + (mouseX * 12), 250 - 90, 25, 50, 20); fill(0); rect(642 + (mouseX * 12), 250 - 50, 4, 20); rect(654 + (mouseX * 12), 250 - 50, 4, 20); ellipse(630 + (mouseX * 12), 250 - 80, 15, 15); ellipse(655 + (mouseX * 12), 250 - 80, 15, 15); // Skeleton 2 fill(255); ellipse(730 + (mouseX * 12), 250 - 100, 50, 50); rect(743 + (mouseX * 12), 250 - 90, 25, 50, 20); fill(0); rect(747 + (mouseX * 12), 250 - 50, 4, 20); rect(759 + (mouseX * 12), 250 - 50, 4, 20); ellipse(735 + (mouseX * 12), 250 - 80, 15, 15); ellipse(760 + (mouseX * 12), 250 - 80, 15, 15); // Light Rays /* Creates white low opasity light rays. Angled at 45 degrees. Becomes brighter as the mouse goes up. */ fill(255, 80 - (mouseY / 1.5)); rotate(0.785); rect(50, -175, 50, 200, 20); rect(125, -250, 100, 200, 20); rect(250, -325, 25, 200, 20); rotate(-0.785); // Night Overlay /* Creates a low opasity black overlay. Becomes brighter as mouse does down. Makes all objects darker during night time. */ fill(0, (mouseY / 5.)); rect(0, 0, 400, 400); // HUD // Objects in this layer do not move with the mouseX position. // Other than the 'You Are Here' Arrow. // *********************************************************************************** // Map Bar fill(0, 50); rect(20, 20, 360, 10, 10); // Monster Icon fill(116, 102, 186); ellipse(20, 18, 14, 14); // Castle Icon fill(150); rect(170, 18, 14, 14); // Dock Icon fill(199, 162, 102); rect(260, 18, 14, 14); // Cloud Icon fill(255); ellipse(366, 18, 14, 14); // You Are Here Arrow /* Moves left and right opposite of the mouse movement. Has a padding to prevent it from going off of the Map Bar. */ fill(255, 103, 97); triangle(20 + ((400 - mouseX) * 0.9) - 5, 18, 20 + ((400 - mouseX) * 0.9), 32, 20 + ((400 - mouseX) * 0.9) + 5, 18); // Custom Cursor fill(255); ellipseMode(CENTER); ellipse(mouseX, mouseY, 25 + (sin(frameCount * 0.1) * 10.), 25 + (sin(frameCount * 0.1) * 10.)); // LIGHTS // All objects on this layer move right to left using the 'mouseX' built in variable. // *********************************************************************************** // Light (Floater) /* Adds a night-time blinking light to the floater */ ellipseMode(CENTER); fill(255, 0, 0, (mouseY/2.) - 80); ellipse(-88 +(mouseX * 6), 120 - 20, 25 + sin(frameCount * 0.1) * 25, 25 + sin(frameCount * 0.1) * 25); ellipseMode(CORNER); // Light (Floater) /* Adds a night-time blinking light to the floater */ ellipseMode(CENTER); fill(255, 0, 0, (mouseY/2.) - 80); ellipse(-788 +(mouseX * 10), 340 - 20, 25 + sin(frameCount * 0.1) * 25, 25 + sin(frameCount * 0.1) * 25); ellipseMode(CORNER); // Light (Floater) /* Adds a night-time blinking light to the floater */ ellipseMode(CENTER); fill(255, 0, 0, (mouseY/2.) - 80); ellipse(-1888 +(mouseX * 10), 200 - 20, 25 + sin(frameCount * 0.1) * 25, 25 + sin(frameCount * 0.1) * 25); ellipseMode(CORNER); pushMatrix(); // Light (Lighthouse) *Nicholas Phan's Suggestion* /* Adds a night-time light to the Lightpost */ fill(255, (mouseY/2.) - 80); translate(width/2 + (mouseX * 10) - 18, height/2 - 48); rotate(radians(frameCount)); quad(-800, -5000, 800, -5000, -800, 5000, 800, 5000); fill(255, 103, 97); rect(-12, -12, 26, 24, 24); popMatrix(); // Lighthouse Speach Bubble fill(255); rect(200 +(mouseX * 10), 200 - 110, 50 + (sin(frameCount * 0.1) * 5.), 50 + (sin(frameCount * 0.1) * 5.), 20); noFill(); stroke(255); strokeWeight(10); bezier((float)(220 +(mouseX * 10)), (float)(200 - 100), (float) (220 +(mouseX * 10)), (float)(200 - 70), (float) (200 +(mouseX * 10)), (float)(200 - 60), (float)(200 +(mouseX * 10)), (float)(200 - 60)); strokeWeight(1); noStroke(); fill(0); ellipse(210 + (mouseX * 10), 210 - 110, 28 + (sin(frameCount * 0.1) * 5.), 28 + (sin(frameCount * 0.1) * 5.)); ellipse(216 + (mouseX * 10), 210 - 92, 15 + (sin(frameCount * 0.1) * 5.), 15 + (sin(frameCount * 0.1) * 5.)); fill(255); ellipse(212 + (mouseX * 10), 210 - 100, 10 + (sin(frameCount * 0.1) * 5.), 10 + (sin(frameCount * 0.1) * 5.)); ellipse(226 + (mouseX * 10), 210 - 100, 10 + (sin(frameCount * 0.1) * 5.), 10 + (sin(frameCount * 0.1) * 5.)); } // Executes code when any mouse button is pressed. void mousePressed() { frameRate(1); // Custom Cursor ellipseMode(CENTER); fill(255); ellipse(width / 2, height / 2, 400, 400); textSize(18); fill(0); text("BY: P.Y.", 165, height/2); } // Executes code when any key is pressed. void keyPressed() { frameRate(1); // Custom Cursor ellipseMode(CENTER); fill(255); ellipse(width / 2, height / 2, 400, 400); textSize(18); fill(0); text("BY: P.Y.", 165, height/2); }