캔버스 상단에서 떨어지는 객체 (원)와 관련된 게임을 만드는 중입니다. 나는이 원들을 무작위로 x 좌표에서 생성 한 다음 일정한 속도로 떨어 뜨린다. 충돌 알고리즘을 작성하려고하지만 x 좌표 또는 폭/높이가 떨어지는 원에 액세스 할 수 없습니다.자바 스크립트를 사용하여 배열의 특정 객체에서 x 및 y 좌표 가져 오기
이것은 원을 만들어 배열에 넣는 방법입니다. var에 발사체는 = [] 이미 내 코드의 상단
function spawnEnemies()
{
var g1 = new createjs.Graphics();
g1.beginStroke('white').beginFill('red').drawCircle(Math.floor(Math.random() * 650) + 50, 50, 20);
var e = new createjs.Shape(g1);
projectiles.push(e);
stage.addChild(e);
}
이 내가 x와 원의 y 좌표에 액세스하고 또한 그들의 폭과 높이를 검색하려고 내 충돌 알고리즘에 선언했다. console.log를 사용하여 어떤 값이 반환되는지 확인하고 확인했습니다. p.x의 경우 매번 값 0이 반환되고 p.width는 NaN을 반환합니다. 나는 왜 p.x와 p.width가 작동하지 않는지 혼란 스럽다. Shape
의
function checkCollision()
{
for (i = 0; i < projectiles.length; i++) {
var p = projectiles[i];
if((p.x + width) < ship.x)
{
hit = false;
}
else if(p.x > (ship.x + ship.image.width))
{
hit = false;
}
else if(p.y > (ship.y + ship.image.height))
{
hit = false;
}
else if((p.y + p.height) < ship.y)
{
hit = false;
}
else
{
hit = true;
console.log(p.x);
}
}
기본 코드 예제를 제공해 주시겠습니까? 나는 당신이 무엇을 의미하는지 완전히 이해하지 못한다고 생각한다. – Jay2424
ok | : 약간의 코드 추가 – guest