nfalbo213 / portfolio

Portfolio website with custom animation
Apache License 2.0
0 stars 0 forks source link

Clean Up Animation #2

Open nfalbo213 opened 1 year ago

nfalbo213 commented 1 year ago

Possible ideas:

// Reset canvas object parameters 

// 1) Clear objectArr objectArr.splice(0, objectArr.length); // 2) Repopulate objectArr generateRider(); generateManyObjects();

Consider looping through objectArr, splicing out riderObj, and just invoking generateRider, not ManyObjects; this may allow for only the rider to reset to the center of the screen while keeping the objects in their place (allowing for a smoother appearance during resize

Also:

//riderAvoidObjects();

Doesn't work, but yet see if I can play with it. Should possibly be invoked in riderAI() (right before moveObject() parameters)

function riderAvoidObjects() { //let riderArr = []; let riderObjIndex; for (let i = objectArr.length - 1; i >= 0; i--) { if (objectArr[i].isRider) { //riderArr.push(objectArr[i]); riderObjIndex = i; i = -1; return; } else { return; } } for (let n = objectArr.length - 1; n >= 0; n--) { if (objectArr[i].movingDown) { if (objectArr[i].isRider) { return; } else if (objectArr[i].isTree) { if (objectArr[i].x + (treeImg.width) >= objectArr[riderObjIndex].x && objectArr[i].x <= objectArr[riderObjIndex].x && objectArr[i].lowerY - (treeImg.height / 2) === objectArr[riderObjIndex].y + riderDownImg.height) { objectArr[riderObjIndex].movingDown = false; objectArr[riderObjIndex].velocityY -= 4; console.log('happened'); } } else if (objectArr[i].isSnowman) { if (objectArr[i].x + (snowmanImg.width) >= objectArr[riderObjIndex].x && objectArr[i].x <= objectArr[riderObjIndex].x && objectArr[i].lowerY - 10 === objectArr[riderObjIndex].y + riderDownImg.height) { objectArr[riderObjIndex].movingDown = false; objectArr[riderObjIndex].velocityY -= 4; } } else if (objectArr[i].isRock) { if (objectArr[i].x + (rockImg.width) >= objectArr[riderObjIndex].x && objectArr[i].x <= objectArr[riderObjIndex].x && objectArr[i].lowerY - 10 === objectArr[riderObjIndex].y + riderDownImg.height) { objectArr[riderObjIndex].movingDown = false; objectArr[riderObjIndex].velocityY -= 4; } } } else if (!objectArr[i].movingDown) { if (objectArr[i].isRider) { return; } else if (objectArr[i].isTree) { if (objectArr[i].x + (treeImg.width) >= objectArr[riderObjIndex].x && objectArr[i].x <= objectArr[riderObjIndex].x && objectArr[i].lowerY + 10 === objectArr[riderObjIndex].y + riderUpImg.height / 1.5) { objectArr[riderObjIndex].movingDown = true; objectArr[riderObjIndex].velocityY += 4; } } else if (objectArr[i].isSnowman) { if (objectArr[i].x + (snowmanImg.width) >= objectArr[riderObjIndex].x && objectArr[i].x <= objectArr[riderObjIndex].x && objectArr[i].lowerY + 10 === objectArr[riderObjIndex].y + riderUpImg.height / 1.5) { objectArr[riderObjIndex].movingDown = true; objectArr[riderObjIndex].velocityY += 4; } } else if (objectArr[i].isRock) { if (objectArr[i].x + (rockImg.width) >= objectArr[riderObjIndex].x && objectArr[i].x <= objectArr[riderObjIndex].x && objectArr[i].lowerY + 10 === objectArr[riderObjIndex].y + riderUpImg.height / 1.5) { objectArr[riderObjIndex].movingDown = true; objectArr[riderObjIndex].velocityY += 4; } } } } }