xxxxxxxxxx
106
let floatingTargets;
let fixedTarget;
let someOtherTarget;
let s0;
let s1;
function preload()
{
s0 = loadShader('basic.vert', 'SolidColor.frag');
s1 = loadShader('basic.vert', 'SolidColor.frag');
}
function setup()
{
createCanvas(400, 400);
// fixedTarget = createGraphics(100, 100, WEBGL);
fixedTarget = createGraphics(100, 100);
floatingTargets = [];
someOtherTarget = null;
}
function draw()
{
background(40);
// fixedTarget.shader(s0);
// s0.setUniform("uColor", [0.9, 0.8, 0.1]);
fixedTarget.noStroke();
fixedTarget.fill(255 * 0.9, 255 * 0.8, 255 * 0.1);
fixedTarget.rect(0, 0, fixedTarget.width, fixedTarget.height);
image(fixedTarget, 50, 50);
for (const target of floatingTargets)
{
// target.shader(s1);
// s1.setUniform("uColor", [0.2, 0.4, 0.9]);
target.noStroke();
target.fill(255 * 0.2, 255 * 0.4, 255 * 0.9);
target.rect(0, 0, target.width, target.height);
image(target, 250, 50);
}
if (someOtherTarget != null)
{
// someOtherTarget.shader(s1);
// s1.setUniform("uColor", [0.9, 0.1, 0.2]);
someOtherTarget.noStroke();
someOtherTarget.fill(255 * 0.9, 255 * 0.1, 255 * 0.2);
someOtherTarget.rect(0, 0, someOtherTarget.width, someOtherTarget.height);
image(someOtherTarget, 150, 250);
}
}
function keyPressed()
{
if (keyCode === 32)
{
if (floatingTargets.length === 0)
CreateTarget();
else
DestroyTarget();
}
else if (keyCode === 65)
{
if (someOtherTarget == null)
CreateOtherTarget();
else
DestroyOtherTarget();
}
}
function CreateTarget()
{
// let target = createGraphics(100, 100, WEBGL);
let target = createGraphics(100, 100);
floatingTargets.push(target);
}
function DestroyTarget()
{
for (const target of floatingTargets)
target.remove();
floatingTargets = [];
}
function CreateOtherTarget()
{
// someOtherTarget = createGraphics(100, 100, WEBGL);
someOtherTarget = createGraphics(100, 100);
}
function DestroyOtherTarget()
{
someOtherTarget.remove();
someOtherTarget = null;
}