JS에서 사각형을 x, y 좌표로 이동하는 방법

Alexandre daubricourt

"내 총알을 x, y 좌표로 이동하는 방법"을 찾고 있지만 도움말이나 유용한 주제를 찾지 못했습니다 .. : |

글쎄, 내 코드가 있습니다.

GoToMouse()
{
    this.goX = mouse.x;
    this.goY = mouse.y;

    this.dx = this.goX;
    this.dy = this.goY;


}

UpdatePosition()
{
    this.x += this.dx / 1000;
    this.y += this.dy / 1000;
}

물론 매 60ms마다 직사각형을 그립니다!

따라서 코드는 rect가 0,0에서 시작될 때 작동하지만 총알이 시작될 때 예를 들어 10,10은 덜 정확하고 시작점이 클수록 시작점이 낮을수록 총알이 정확합니다.

감사 ! :)

상표

다음은 애니메이션 튜토리얼 입니다. 화면 전체에서 그림 (예 : 글 머리 기호)을 애니메이션하는 방법을 예제로 볼 수 있습니다.

벡터를 사용하여 [startX, startY]에서 [endX, endY]까지의 증분 [x, y] 계산

// dx is the total distance to move in the X direction
var dx = endX - startX;

// dy is the total distance to move in the Y direction
var dy = endY - startY;

// use a pct (percentage) to travel the total distances
// start at 0% which == the starting point
// end at 100% which == then ending point
var pct=0;  

// use dx & dy to calculate where the current [x,y] is at a given pct
var x = startX + dx * pct/100;
var y = startY + dx * pct/100;

시작을위한 예제 코드 및 데모 :

// canvas vars
var canvas=document.getElementById("canvas");
var ctx=canvas.getContext("2d");
var cw=canvas.width;
var ch=canvas.height;
function reOffset(){
    var BB=canvas.getBoundingClientRect();
    offsetX=BB.left;
    offsetY=BB.top;        
}
var offsetX,offsetY;
reOffset();
window.onscroll=function(e){ reOffset(); }
window.onresize=function(e){ reOffset(); }

// animating vars
var pct=101;
var startX,startY,endX,endY,dx,dy;

// canvas styles
ctx.strokeStyle='skyblue';
ctx.fillStyle='blue';

// start animation loop running
requestAnimationFrame(animate);

// listen for mouse events
window.onmousedown=(function(e){handleMouseDown(e);});
window.onmouseup=(function(e){handleMouseUp(e);});

// constantly running loop
// will animate bullet 
function animate(time){
    // return if there's no bullet to animate
    if(++pct>100){requestAnimationFrame(animate);return;}
    // update
    x=startX+dx*pct/100;
    y=startY+dy*pct/100;
    // draw
    ctx.clearRect(0,0,cw,ch);
    ctx.beginPath();
    ctx.moveTo(startX,startY);
    ctx.lineTo(endX,endY);
    ctx.stroke();
    ctx.beginPath();
    ctx.arc(x,y,5,0,Math.PI*2);
    ctx.fill()
    // request another animation loop
    requestAnimationFrame(animate);
}

function handleMouseDown(e){
  // tell the browser we're handling this event
  e.preventDefault();
  e.stopPropagation();
  // save ending position
  startX=parseInt(e.clientX-offsetX);
  startY=parseInt(e.clientY-offsetY);
  // set flag
  pct=101;
}

function handleMouseUp(e){
  // tell the browser we're handling this event
  e.preventDefault();
  e.stopPropagation();
  // save ending position and vector
  endX=parseInt(e.clientX-offsetX);
  endY=parseInt(e.clientY-offsetY);
  dx=endX-startX;
  dy=endY-startY;
  // set pct=0 to start animating
  pct=0;
}
body{ background-color: ivory; }
#canvas{border:1px solid red; }
<h4>Drag the mouse<br>Mousedown sets starting position,<br>Mouseup sets ending position and animates.</h4>
<canvas id="canvas" width=512 height=512></canvas>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

연결 목록을 사용하여 x 및 y 좌표로 점에서 삼각형 형성

분류에서Dev

파이썬에서 x 및 y 좌표로 ES384 JWT 서명을 검증하는 방법

분류에서Dev

gnuplot에서 x에서 y 좌표로 사각형 그리기

분류에서Dev

JavaScript에서 X 및 Y 좌표를 사용하여 개체를 이동하는 방법

분류에서Dev

x, y 좌표에서 고유 한 RGB 값으로 이동하는 방법은 무엇입니까?

분류에서Dev

iOS에서 모든 좌표 점 (X 및 Y)을 얻는 방법

분류에서Dev

파이썬에서 (x, y) 좌표 점을 색칠하는 방법

분류에서Dev

파이썬에서 x, y 좌표의 중심을 계산하는 방법

분류에서Dev

matplotlib.pyplot에서 x 및 y 좌표로 레이블을 만드는 방법은 무엇입니까?

분류에서Dev

좌표 (x, y)가있는 튜플 목록을 반환하는 함수이지만 이러한 좌표를 사용하여 직사각형을 그리면 서로 교차하지 않아야합니다.

분류에서Dev

JLabel에서 이미지의 X, Y 좌표를 얻는 방법

분류에서Dev

각도기-x, y 좌표로 클릭 / 드래그 이벤트를 수행하는 방법이 있습니까?

분류에서Dev

kotlin을 사용하여 콘솔에서 x, y 좌표로 문자를 인쇄하는 방법은 무엇입니까?

분류에서Dev

x, y 좌표로 파이썬 iGraph에서 정점을 정의하십시오.

분류에서Dev

이미지 조작에서 x 및 y 좌표를 설정하는 방법.

분류에서Dev

클릭의 X 및 Y 좌표를 사용하여 이미지를 이동하는 방법

분류에서Dev

x, y 좌표를 사용하여 networkx에서 이웃 사이의 유클리드 거리를 자동으로 계산하고 최소 스패닝 트리를 찾는 방법

분류에서Dev

matplotlib에서 사각형을 플로팅하는 방법, 너비는 항상 x 축의 10 %, 높이는 항상 1 (y 축 단위), 확대 / 축소 / 이동해도 모서리에 고정됩니까?

분류에서Dev

x, y, z 좌표를 사용하여 3D 표면에 점 플로팅

분류에서Dev

거품 형 차트 (JQPlot)에서 X 및 Y 축을 중심으로 이동하는 방법

분류에서Dev

ggplot2와 같은 것을 사용하여 R의 특정 X 좌표에서 수평 직사각형을 만드는 방법은 무엇입니까?

분류에서Dev

표시되는 좌표 (x, y)를 목록 목록에서 식별하고 데이터 프레임으로 만드는 방법

분류에서Dev

파이썬에서 이름으로 (x, y) 좌표 플로팅

분류에서Dev

문서를 만들고 x 및 y 좌표 또는 픽셀을 기반으로 텍스트 상자로 채우는 방법은 무엇입니까?

분류에서Dev

pygame-get_pos에서 X 및 Y 좌표를 분할하는 방법

분류에서Dev

로봇 팔 이동을 위해 (x, y) 좌표를 (x, y, z)로 변환

분류에서Dev

각도가있는 타원의 좌표 X와 Y를 계산하는 방법

분류에서Dev

객체 좌표를 영구적으로 설정하지 않고 파이 게임에서 터치하는 동안 객체 사각형을 모양 사각형으로 설정하는 방법은 무엇입니까?

분류에서Dev

x, y 좌표 입력을 배열로 읽어서 다각형의 둘레를 계산하는 데 문제가 있습니다.

Related 관련 기사

  1. 1

    연결 목록을 사용하여 x 및 y 좌표로 점에서 삼각형 형성

  2. 2

    파이썬에서 x 및 y 좌표로 ES384 JWT 서명을 검증하는 방법

  3. 3

    gnuplot에서 x에서 y 좌표로 사각형 그리기

  4. 4

    JavaScript에서 X 및 Y 좌표를 사용하여 개체를 이동하는 방법

  5. 5

    x, y 좌표에서 고유 한 RGB 값으로 이동하는 방법은 무엇입니까?

  6. 6

    iOS에서 모든 좌표 점 (X 및 Y)을 얻는 방법

  7. 7

    파이썬에서 (x, y) 좌표 점을 색칠하는 방법

  8. 8

    파이썬에서 x, y 좌표의 중심을 계산하는 방법

  9. 9

    matplotlib.pyplot에서 x 및 y 좌표로 레이블을 만드는 방법은 무엇입니까?

  10. 10

    좌표 (x, y)가있는 튜플 목록을 반환하는 함수이지만 이러한 좌표를 사용하여 직사각형을 그리면 서로 교차하지 않아야합니다.

  11. 11

    JLabel에서 이미지의 X, Y 좌표를 얻는 방법

  12. 12

    각도기-x, y 좌표로 클릭 / 드래그 이벤트를 수행하는 방법이 있습니까?

  13. 13

    kotlin을 사용하여 콘솔에서 x, y 좌표로 문자를 인쇄하는 방법은 무엇입니까?

  14. 14

    x, y 좌표로 파이썬 iGraph에서 정점을 정의하십시오.

  15. 15

    이미지 조작에서 x 및 y 좌표를 설정하는 방법.

  16. 16

    클릭의 X 및 Y 좌표를 사용하여 이미지를 이동하는 방법

  17. 17

    x, y 좌표를 사용하여 networkx에서 이웃 사이의 유클리드 거리를 자동으로 계산하고 최소 스패닝 트리를 찾는 방법

  18. 18

    matplotlib에서 사각형을 플로팅하는 방법, 너비는 항상 x 축의 10 %, 높이는 항상 1 (y 축 단위), 확대 / 축소 / 이동해도 모서리에 고정됩니까?

  19. 19

    x, y, z 좌표를 사용하여 3D 표면에 점 플로팅

  20. 20

    거품 형 차트 (JQPlot)에서 X 및 Y 축을 중심으로 이동하는 방법

  21. 21

    ggplot2와 같은 것을 사용하여 R의 특정 X 좌표에서 수평 직사각형을 만드는 방법은 무엇입니까?

  22. 22

    표시되는 좌표 (x, y)를 목록 목록에서 식별하고 데이터 프레임으로 만드는 방법

  23. 23

    파이썬에서 이름으로 (x, y) 좌표 플로팅

  24. 24

    문서를 만들고 x 및 y 좌표 또는 픽셀을 기반으로 텍스트 상자로 채우는 방법은 무엇입니까?

  25. 25

    pygame-get_pos에서 X 및 Y 좌표를 분할하는 방법

  26. 26

    로봇 팔 이동을 위해 (x, y) 좌표를 (x, y, z)로 변환

  27. 27

    각도가있는 타원의 좌표 X와 Y를 계산하는 방법

  28. 28

    객체 좌표를 영구적으로 설정하지 않고 파이 게임에서 터치하는 동안 객체 사각형을 모양 사각형으로 설정하는 방법은 무엇입니까?

  29. 29

    x, y 좌표 입력을 배열로 읽어서 다각형의 둘레를 계산하는 데 문제가 있습니다.

뜨겁다태그

보관