/* built with Studio Sketchpad: * https://sketchpad.cc * * observe the evolution of this sketch: * https://studio.sketchpad.cc/sp/pad/view/ro.f438fBoTIQP/rev.7 * * authors: * GoToLoop * license (unless otherwise specified): * creative commons attribution-share alike 3.0 license. * https://creativecommons.org/licenses/by-sa/3.0/ */ /** * Bullet Fire Example (v1.02) * by GoToLoop (2014/Mar) * * forum.processing.org/two/discussion/3470/triggerbullet * * studio.processingtogether.com/sp/pad/export/ro.9FioSBFuQzD8V/latest */ static final int BW = 030, BH = 010, BS = 010; int bx, by; boolean isShooting; void setup() { size(600, 150, JAVA2D); frameRate(60); smooth(4); rectMode(CORNER); fill(#FF0000); stroke(0); strokeWeight(2); by = height-BH >> 1; } void draw() { background(0300); if (isShooting) animateBullet(); } void keyPressed() { final int k = keyCode; if (!isShooting && k == ENTER | k == RETURN | k == ' ') startBullet(); } void mousePressed() { if (!isShooting & mouseButton == LEFT) startBullet(); } void startBullet() { isShooting = true; bx = -BW; } void animateBullet() { rect(bx += BS, by, BW, BH); if (bx > width) isShooting = false; }