develop/main #5
+34
-13
@@ -77,7 +77,7 @@ let frame = 0;
|
|||||||
let nizikaData = [];
|
let nizikaData = [];
|
||||||
let kitaData = [];
|
let kitaData = [];
|
||||||
|
|
||||||
const nizikaVel = 0.1;
|
const nizikaVel = 5;
|
||||||
|
|
||||||
let runawayFlag = false;
|
let runawayFlag = false;
|
||||||
let runawayFrame = 0;
|
let runawayFrame = 0;
|
||||||
@@ -95,8 +95,8 @@ preprocess ()
|
|||||||
{
|
{
|
||||||
this.removeEventListener ('click', f);
|
this.removeEventListener ('click', f);
|
||||||
|
|
||||||
kitaData.push ({x: e.clientX - 214,
|
kitaData.push ({x: e.clientX,
|
||||||
y: e.clientY - 120});
|
y: e.clientY});
|
||||||
|
|
||||||
runawayFlag = true;
|
runawayFlag = true;
|
||||||
runawayFrame = frame;
|
runawayFrame = frame;
|
||||||
@@ -121,8 +121,8 @@ reDraw ()
|
|||||||
|
|
||||||
if (!(runawayFlag))
|
if (!(runawayFlag))
|
||||||
{
|
{
|
||||||
nizikaData.push ({x: Math.random () * canvasX - 150,
|
nizikaData.push ({x: Math.random () * canvasX,
|
||||||
y: Math.random () * canvasY - 150});
|
y: Math.random () * canvasY});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nizikaData.length > 100)
|
if (nizikaData.length > 100)
|
||||||
@@ -131,23 +131,25 @@ reDraw ()
|
|||||||
kitaData.forEach (
|
kitaData.forEach (
|
||||||
function (kita)
|
function (kita)
|
||||||
{
|
{
|
||||||
ctx.drawImage (kitaList[frame % 40], kita.x, kita.y);
|
ctx.drawImage (kitaList[frame % 40], kita.x - 214, kita.y - 120);
|
||||||
});
|
});
|
||||||
|
|
||||||
nizikaData.forEach (
|
nizikaData.forEach (
|
||||||
function (nizika)
|
function (nizika)
|
||||||
{
|
{
|
||||||
ctx.drawImage (nizikaList[frame % 24], nizika.x, nizika.y);
|
ctx.drawImage (nizikaList[frame % 24], nizika.x - 150, nizika.y - 150);
|
||||||
|
|
||||||
if (runawayFlag)
|
if (runawayFlag)
|
||||||
{
|
{
|
||||||
const l = Math.sqrt (Math.pow (kitaData[0].x - nizika.x, 2)
|
const l = Math.sqrt (Math.pow (((kitaData[0].x - 214)
|
||||||
+ Math.pow (kitaData[0].y - nizika.y, 2));
|
- (nizika.x - 150)), 2)
|
||||||
const t = Math.atan2 (kitaData[0].y - nizika.y,
|
+ Math.pow (((kitaData[0].y - 120)
|
||||||
kitaData[0].x - nizika.x);
|
- (nizika.y - 150)), 2));
|
||||||
|
const t = Math.atan2 ((kitaData[0].y - 120) - (nizika.y - 150),
|
||||||
|
(kitaData[0].x - 214) - (nizika.x - 150));
|
||||||
|
|
||||||
nizika.x += nizikaVel * cos (t);
|
nizika.x += nizikaVel * Math.cos (t);
|
||||||
nizika.y += nizikaVel * sin (t);
|
nizika.y += nizikaVel * Math.sin (t);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -175,3 +177,22 @@ replaceColorWithTransparent (canvas)
|
|||||||
context.putImageData (imageData, 0, 0);
|
context.putImageData (imageData, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function
|
||||||
|
changeAlpha (canvas, alpha)
|
||||||
|
{
|
||||||
|
const toCanvas = document.createElement('canvas');
|
||||||
|
const toCtx = toCanvas.getContext ('2d');
|
||||||
|
|
||||||
|
const ctx = canvas.getContext ('2d');
|
||||||
|
const imageData = ctx.getImageData (0, 0, canvas.width, canvas.height);
|
||||||
|
const pxs = imageData.data;
|
||||||
|
|
||||||
|
for (let i = 0; i < pxs.length; i += 4)
|
||||||
|
pxs[i + 3] = alpha;
|
||||||
|
|
||||||
|
toCtx.putImageData (imageData, 0, 0);
|
||||||
|
|
||||||
|
return toCanvas;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user