2014-07-04 6 views
0

제목에서 전달하려고하는 것은 화면에 플레이어가 있고 방향 변수와 삼각법을 사용하여 " 찾고 "한 방향으로. 나는 그 앞에서 물건을 스폰해야합니다. 그리고 스폰에 의해 플레이어의 "앞"에있는 지점의 위치와 일치하는 x와 y 좌표를 가진 객체를 만드는 것입니다.trig를 사용하여 플레이어 개체의 "앞"에 개체를 생성하는 방법

이 코드는 어렵습니다. 나는 더 많은 정보가 없거나 더 많은 삼각법을 배우지 않고서는 이것을 이해할 수 없다.

기본적으로 이것은 내가 가지고있는 것으로 총알이 생기고 또 다른 코드 줄이 화면에 그려지는 목록에 추가됩니다. 내가 알아야 할 것은 "xl"개체를 올바른 x & y 좌표로 생성하는 것입니다. 이것은 내가 지금까지 가지고있는 것이다. 나는 x와 y 변수에 더 많은 것을 추가 할 필요가 있다고 가정 할 수있다. 그러나 그것이 무엇인지는 모른다.

Bullet b = new Bullet((int)x/2+(Math.cos(Math.toRadians(direction))), (int)y/2 + (Math.sin(Math.toRadians(direction))), "/img/bullet.png", direction, weapon); 
+0

@Downvoter, 이유는 무엇입니까? – Levi

답변

4

개체가 생성 될 방향을 가리키는 벡터를 만듭니다.

x = radius * Math.cos(angle) + startX 
y = radius * Math.sin(angle) + startY 

표준화 한 다음 원하는대로 크기를 조정하십시오.

Here's a simple demo to illustrate.

여기 p.s

radius 단지 산란 점의 초기 변위 균일하다.

+0

반경과 각도의 예를 들어 주시겠습니까? 각도가 객체의 x/y 좌표가 스폰됩니까? – Levi

+0

설명하기 위해 jsfiddle을 만들겠습니다.) – nullpotent

+0

@Levi 링크를 다시 확인하고, 깔끔한 데모로 업데이트했습니다. 도움이 될 것입니다. – nullpotent

0

당신이 Proportionality을 이해한다면 도움이 될하지만 기본적으로 이것이다 : 동일한 번호를 x와 y를 곱하면, 당신은 멀리 떨어져 현재 위치에서 얻을 것이다. 물론 신호에 따라 다르지만 가장 간단한 방법은 x와 y를 두 개의 양수로 가정하면 x = 1과 y = 1이라고 가정 해 봅시다. 양수를 곱하면 양수로, 마지막 숫자 (x = 3 및 y = 3)는 1,1의 위치에있는 액터 바로 앞에있는 좌표 3,3에 "bullet"을 갖습니다. 다시 말하지만, 카메라의 위치, 원근감 등과 같은 많은 것들을 무시하고 많은 것을 가정합니다.

+0

나는 당신이 말하는 것을 이해한다고 생각합니다. 플레이어 오브젝트는 어떤 방향으로도 회전 할 수 있으며 거기에서 캐릭터 앞에서 그를 스폰해야합니다. – Levi