Guest User

Untitled

a guest
Sep 18th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.25 KB | None | 0 0
  1. int centerW = width/2, centerH = height/2;
  2.  
  3. //DUNE
  4. int duneVertX, duneVertY, duneBez1X, duneBez1Y, duneBez2X, duneBez2Y, duneBez3X, duneBez3Y, duneBez4X, duneBez4Y, duneBez5X, duneBez5Y, duneBez6X, duneBez6Y, duneVertX2, duneVertY2;
  5. color duneDayA, duneDayB, duneDuskA, duneDuskB, duneNightA, duneNightB;
  6.  
  7. //FOREGROUND
  8. int foregroundX, foregroundY, foregroundW, foregroundH;
  9. color fgDay, fgDusk, fgNight;
  10.  
  11. //BACKGROUND
  12. color skyDay, skyDusk, skyNight;
  13.  
  14. //FLAG
  15. int flagX, flagY;
  16. color flagDay, flagDusk, flagNight, poleDay, poleDusk, poleNight, buryDay, buryDusk, buryNight;
  17.  
  18. //SUN
  19. float sun;
  20.  
  21. //BUTTONS
  22. int buttonX, dayButtonY, duskButtonY, nightButtonY, randomButtonY, buttonSize;
  23. int dayButtonDist, duskButtonDist, nightButtonDist, randomButtonDist;
  24. color dayButtonColor, duskButtonColor, nightButtonColor, randomButtonColor;
  25. PFont buttonFont;
  26.  
  27.  
  28. void setup(){
  29.  
  30. size(1000, 530);
  31.  
  32. //DUNE
  33. duneVertX = int(width*.76);
  34. duneVertY = int(width*.27);
  35. duneBez1X = int(width*.88);
  36. duneBez1Y = int(width*.32);
  37. duneBez2X = int(width*.188);
  38. duneBez2Y = int(width*.489);
  39. duneBez3X = int(width*.509);
  40. duneBez3Y = int(width*.347);
  41. duneBez4X = int(width*.759);
  42. duneBez4Y = int(width*.269);
  43. duneBez5X = int(width*1.499);
  44. duneBez5Y = int(width*.352);
  45. duneBez6X = int(width*1.034);
  46. duneBez6Y = int(width*.882);
  47. duneVertX2 = int(width*.268);
  48. duneVertY2 = int(width*.397);
  49. duneDayA = color(241, 199, 145);
  50. duneDayB = color(249, 206, 151);
  51. duneDuskA = color(235, 179, 108);
  52. duneDuskB = color(244, 185, 111);
  53. duneNightA = color(126, 94, 53);
  54. duneNightB = color(134, 100, 57);
  55.  
  56. //FOREGROUND
  57. foregroundX = int(width*-1.5);
  58. foregroundY = int(width*.325);
  59. foregroundW = int(width*3);
  60. foregroundH = int(width*2.5);
  61. fgDay = color(232, 192, 139);
  62. fgDusk = color(224, 170, 102);
  63. fgNight = color(118, 88, 50);
  64.  
  65. //FLAG
  66. flagX = 110;
  67. flagY = 110;
  68. flagDay = color(202, 0, 25);
  69. flagDusk = color(172, 0, 21);
  70. flagNight = color(114, 0, 14);
  71. poleDay = color(65, 41, 21);
  72. poleDusk = color(50, 31, 16);
  73. poleNight = color(31, 19, 10);
  74. buryDay = color(214, 166, 79);
  75. buryDusk = color(186, 140, 83);
  76. buryNight = color(104, 78, 45);
  77.  
  78. //BACKGROUND
  79. skyDay = color(111, 169, 236);
  80. skyDusk = color(215, 128, 62);
  81. skyNight = color(0, 0, 20);
  82.  
  83. //SUN
  84. sun = random(-4.36, -1.97);
  85. println (sun);
  86.  
  87. //BUTTONS
  88. buttonX = 30;
  89. buttonSize = 30;
  90. buttonFont = createFont("Avenir", 16);
  91.  
  92. //DAY BUTTON
  93. dayButtonY = 30;
  94. dayButtonColor = color(255, 216, 35);
  95.  
  96. //DUSK BUTTON
  97. duskButtonY = 70;;
  98. duskButtonColor = color(245, 109, 35);
  99.  
  100. //NIGHT BUTTON
  101. nightButtonY = 110;
  102. nightButtonColor = color(36, 71, 112);
  103.  
  104. //RANDOM BUTTON
  105. randomButtonY = 150;
  106. randomButtonColor = color(94, 15, 164);
  107.  
  108. }
  109.  
  110. void draw(){
  111.  
  112. //SKY
  113. //SET SKY COLOR BASED ON SUN POSITION
  114. if(sun <= -3.26 && sun >= -4.36){
  115. background (skyNight);
  116. }
  117. if(sun <= -1.97 && sun > -3.05){
  118. background (skyDay);
  119. }
  120. if(sun <= -3.05 && sun > -3.26){
  121. background (skyDusk);
  122. }
  123.  
  124. //SUN
  125. noStroke();
  126. //SUN TRANSLATION
  127. pushMatrix();
  128. translate(width/2+width/4.5, height*1.6);
  129. rotate(sun);
  130. fill(252, 226, 28);
  131. ellipse(width/2, height, 100, 100);
  132. popMatrix();
  133. //END SUN TRANSLATION
  134.  
  135. //DUNE LAYER
  136. pushMatrix();
  137.  
  138. //DUNE LAYER MOVEMENT ON MOUSE MOVEMENT
  139. if(mouseX < centerW || mouseX > centerW){
  140. translate(-.01*mouseX, 0);
  141. }
  142.  
  143. //DUNE-B TRANSLATION
  144. pushMatrix();
  145.  
  146. translate(-3, -1.25);
  147. scale(1.006);
  148.  
  149. //SET DUNE-B COLOR BASED ON SUN POSITION
  150. if(sun <= -3.26 && sun >= -4.36);{
  151. fill(duneNightB);
  152. }
  153. if(sun <= -1.97 && sun > -3.05){
  154. fill(duneDayB);
  155. }
  156. if(sun <= -3.05 && sun > -3.26){
  157. fill(duneDuskB);
  158. }
  159.  
  160. //DUNE-B SHAPE
  161. beginShape();
  162. vertex(duneVertX, duneVertY);
  163. bezierVertex(duneBez1X, duneBez1Y, duneBez2X, duneBez2Y, duneVertX2, duneVertY2);
  164. bezierVertex(duneBez3X, duneBez3Y, duneBez4X, duneBez4Y, duneVertX, duneVertY);
  165. endShape();
  166.  
  167. popMatrix();
  168. //END DUNE-B TRANSLATION
  169.  
  170. //SET DUNE-A COLOR BASED ON SUN POSITION
  171. if(sun <= -3.26 && sun >= -4.36);{
  172. fill(duneNightA);
  173. }
  174. if(sun <= -1.97 && sun > -3.05){
  175. fill(duneDayA);
  176. }
  177. if(sun <= -3.05 && sun > -3.26){
  178. fill(duneDuskA);
  179. }
  180.  
  181. //DUNE-A SHAPE
  182. beginShape();
  183. vertex(duneVertX, duneVertY);
  184. bezierVertex(duneBez5X, duneBez5Y, duneBez6X, duneBez6Y, duneVertX2, duneVertY2);
  185. bezierVertex(duneBez2X, duneBez2Y, duneBez1X, duneBez1Y, duneVertX, duneVertY);
  186. endShape();
  187.  
  188. popMatrix();
  189. //END DUNE LAYER
  190.  
  191. //FOREGROUND LAYER
  192. pushMatrix();
  193.  
  194. //FOREGROUND LAYER MOVEMENT ON MOUSE MOVEMENT
  195. if(mouseX < centerW || mouseX > centerW){
  196. translate(-.04*mouseX, 0);
  197. }
  198.  
  199. //SET FOREGROUND DUNE COLOR BASED ON SUN POSITION
  200. if(sun <= -3.26 && sun >= -4.36);{
  201. fill(fgNight);
  202. }
  203. if(sun <= -1.97 && sun > -3.05){
  204. fill(fgDay);
  205. }
  206. if(sun <= -3.05 && sun > -3.26){
  207. fill(fgDusk);
  208. }
  209.  
  210. //FOREGROUND DUNE SHAPE
  211. ellipseMode(CORNER);
  212. ellipse(foregroundX, foregroundY, foregroundW, foregroundH);
  213.  
  214. //FLAG AND POLE
  215. //FLAG AND POLE TRANSLATION
  216. pushMatrix();
  217.  
  218. rotate(radians(5));
  219. translate(60, 30);
  220.  
  221. //FLAG
  222. noStroke();
  223.  
  224. //SET FLAG COLOR BASED ON SUN POSITION
  225. if(sun <= -3.26 && sun >= -4.36);{
  226. fill(flagNight);
  227. }
  228. if(sun <= -1.97 && sun > -3.05){
  229. fill(flagDay);
  230. }
  231. if(sun <= -3.05 && sun > -3.26){
  232. fill(flagDusk);
  233. }
  234.  
  235. //FLAG SHAPE
  236. beginShape();
  237. vertex(flagX, flagY);
  238. vertex(flagX+(flagX*1.54), flagY+(flagY*.075));
  239. vertex(flagX+(flagX*1.23), flagY+(flagY*.25));
  240. vertex(flagX+(flagX*1.54), flagY+(flagY*.425));
  241. vertex(flagX, flagY+(flagY*.5));
  242. endShape(CLOSE);
  243.  
  244. //POLE
  245. strokeWeight(5);
  246.  
  247. //SET POLE COLOR BASED ON SUN POSITION
  248. if(sun <= -3.26 && sun >= -4.36);{
  249. stroke(poleNight);
  250. }
  251. if(sun <= -1.97 && sun > -3.05){
  252. stroke(poleDay);
  253. }
  254. if(sun <= -3.05 && sun > -3.26){
  255. stroke(poleDusk);
  256. }
  257.  
  258. //POLE SHAPE
  259. line(flagX, flagY, flagX, flagY+200);
  260.  
  261. //BURIED FLAGPOLE
  262. strokeWeight(2);
  263.  
  264. //SET BURIED FLAGPOLE COLOR BASED ON SUN POSITION
  265. if(sun <= -3.26 && sun >= -4.36);{
  266. stroke(buryNight);
  267. }
  268. if(sun <= -1.97 && sun > -3.05){
  269. stroke(buryDay);
  270. }
  271. if(sun <= -3.05 && sun > -3.26){
  272. stroke(buryDusk);
  273. }
  274.  
  275. //BURIED FLAGPOLE SHAPE
  276. line(flagX+-15, flagY+202, flagX+15, flagY+202);
  277.  
  278. popMatrix();
  279. //END FLAG AND POLE TRANSLATION
  280.  
  281. popMatrix();
  282. //END FOREGROUND LAYER
  283.  
  284. //ICONS
  285. textFont(buttonFont);
  286. textAlign(LEFT, CENTER);
  287. ellipseMode(CENTER);
  288. imageMode(CENTER);
  289.  
  290. //DAY BUTTON
  291. dayButtonDist = int(dist(buttonX, dayButtonY, mouseX, mouseY));
  292.  
  293. //HIGHLIGHT DAY BUTTON ON MOUSEOVER
  294. if(dayButtonDist<buttonSize/2){
  295. strokeWeight(2);
  296. stroke(255);
  297. }else{
  298. noStroke();
  299. }
  300.  
  301. //DAY BUTTON SHAPE & ICON
  302. fill(dayButtonColor);
  303. ellipse(buttonX, dayButtonY, buttonSize, buttonSize);
  304.  
  305. //SHOW "DAY" TEXT ON MOUSEOVER
  306. if(dayButtonDist<buttonSize/2){
  307. fill(255);
  308. }else if(dayButtonDist>buttonSize/2){
  309. if(sun <= -3.26 && sun >= -4.36){
  310. fill(skyNight);
  311. }else if(sun <= -1.97 && sun > -3.05){
  312. fill(skyDay);
  313. }else if(sun <= -3.05 && sun > -3.26){
  314. fill(skyDusk);
  315. }
  316. }
  317. text("Day", (buttonX +15)+7, dayButtonY-2);
  318.  
  319. //DUSK BUTTON
  320. duskButtonDist = int(dist(buttonX, duskButtonY, mouseX, mouseY));
  321.  
  322. //HIGHLIGHT DUSK BUTTON ON MOUSEOVER
  323. if(duskButtonDist<buttonSize/2){
  324. strokeWeight(2);
  325. stroke(255);
  326. }else{
  327. noStroke();
  328. }
  329.  
  330. //DUSK BUTTON SHAPE & ICON
  331. fill(duskButtonColor);
  332. ellipse(buttonX, duskButtonY, buttonSize, buttonSize);
  333.  
  334. //SHOW "DUSK" TEXT ON MOUSEOVER
  335. if(duskButtonDist<buttonSize/2){
  336. fill(255);
  337. }else if(duskButtonDist>buttonSize/2){
  338. if(sun <= -3.26 && sun >= -4.36){
  339. fill(skyNight);
  340. }else if(sun <= -1.97 && sun > -3.05){
  341. fill(skyDay);
  342. }else if(sun <= -3.05 && sun > -3.26){
  343. fill(skyDusk);
  344. }
  345. }
  346. text("Dusk", (buttonX+15)+7, duskButtonY-2);
  347.  
  348. //NIGHT BUTTON
  349. nightButtonDist = int(dist(buttonX, nightButtonY, mouseX, mouseY));
  350.  
  351. //HIGHLIGHT NIGHT BUTTON ON MOUSEOVER
  352. if(nightButtonDist<buttonSize/2){
  353. strokeWeight(2);
  354. stroke(255);
  355. }else{
  356. noStroke();
  357. }
  358.  
  359. //NIGHT BUTTON SHAPE & ICON
  360. fill(nightButtonColor);
  361. ellipse(buttonX, nightButtonY, buttonSize, buttonSize);
  362.  
  363. //SHOW "NIGHT" TEXT ON MOUSEOVER
  364. if(nightButtonDist<buttonSize/2){
  365. fill(255);
  366. }else if(nightButtonDist>buttonSize/2){
  367. if(sun <= -3.26 && sun >= -4.36){
  368. fill(skyNight);
  369. }else if(sun <= -1.97 && sun > -3.05){
  370. fill(skyDay);
  371. }else if(sun <= -3.05 && sun > -3.26){
  372. fill(skyDusk);
  373. }
  374. }
  375. text("Night", (buttonX+15)+7, nightButtonY-2);
  376.  
  377. //RANDOM BUTTON
  378. randomButtonDist = int(dist(buttonX, randomButtonY, mouseX, mouseY));
  379.  
  380. //HIGHLIGHT RANDOM BUTTON ON MOUSEOVER
  381. if(randomButtonDist<buttonSize/2){
  382. strokeWeight(2);
  383. stroke(255);
  384. }else{
  385. noStroke();
  386. }
  387.  
  388. //RANDOM BUTTON SHAPE & ICON
  389. fill(randomButtonColor);
  390. ellipse(buttonX, randomButtonY, buttonSize, buttonSize);
  391.  
  392. //SHOW "RANDOM" TEXT ON MOUSEOVER
  393. if(randomButtonDist<buttonSize/2){
  394. fill(255);
  395. }else if(randomButtonDist>buttonSize/2){
  396. if(sun <= -3.26 && sun >= -4.36){
  397. fill(skyNight);
  398. }else if(sun <= -1.97 && sun > -3.05){
  399. fill(skyDay);
  400. }else if(sun <= -3.05 && sun > -3.26){
  401. fill(skyDusk);
  402. }
  403. }
  404. text("Random", (buttonX+15)+7, randomButtonY-2);
  405.  
  406. }
  407.  
  408. void mousePressed(){
  409. //CLICK DAY BUTTON TO SET TIME
  410. if(dayButtonDist<buttonSize/2){
  411. if (mousePressed){
  412. sun = -2.4;
  413. }
  414. }
  415.  
  416. //CLICK DUSK BUTTON TO SET TIME
  417. if(duskButtonDist<buttonSize/2){
  418. if (mousePressed){
  419. sun = -3.17;
  420. }
  421. }
  422.  
  423. //CLICK NIGHT BUTTON TO SET TIME
  424. if(nightButtonDist<buttonSize/2){
  425. if (mousePressed){
  426. sun = -4;
  427. }
  428. }
  429.  
  430. //CLICK RANDOM BUTTON TO RANDOMIZE TIME
  431. if(randomButtonDist<buttonSize/2){
  432. if (mousePressed){
  433. sun = random(-4.36, -1.97);
  434. }
  435. }
  436. }
Add Comment
Please, Sign In to add comment