자바스크립트 캔버스 질문

자바스크립트 캔버스 질문

QA

자바스크립트 캔버스 질문

답변 1

본문

제가 원래 허들이라는 이미지를 오른쪽에서 왼쪽으로 랜덤으로 나오게하려는데  

1. 허들이미지가 왼쪽으로 사라지면 (x값이0이되면 다시 오른쪽 끝에서 왼쪽으로 랜덤으로 생기게하기

2. 허들랜덤값을 높이가 500이라 치면 0~250 정도에서 랜덤값을 산출하고싶습니다.

 

저는 지금 허들이 위쪽에서 왼쪽으로가서 다시 재생이 않되고있습니다. 코린이좀 도와주세요 ㅠㅠ

 


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <canvas id="myCanvas" width="700" height="500"
    style="background:url('images/track.png'); background-size: cover"></canvas>

 
    <script>
    var ctx = myCanvas.getContext("2d");
 
    var man_x = 0;
    var man_y = 0;
    var manImg = new Image();
    manImg.src = "images/runner.PNG";
 
    var huddle_x = 0;
    var huddle_y = 0;
    var huddleImg = new Image();
    huddleImg.src = "images/huddle.PNG";
 
    function Do_a_Frame(){
        man_y = myCanvas.height - manImg.height
        ctx.clearRect(0,0, myCanvas.width, myCanvas.height);
        ctx.drawImage(manImg, man_x, man_y);
       
       // huddle_x = huddle_x - 3;
        //if (huddle_x> myCanvas.witdh){
          //  huddle_x = 700;
          //  huddle_y = Math.random()*(myCanvas.height-huddleImg.height);
        }
        ctx.drawImage(huddleImg, huddle_x, huddle_y);
    }
    function MyKeyDownHandler(MyEvent){
        if (MyEvent.keyCode == 37 && man_x > 0) { man_x = man_x - 10; }
            if (MyEvent.keyCode == 39 && man_x + manImg.width < myCanvas.width) { man_x = man_x + 10; }
            
        MyEvent.preventDefault();
    }
 
    setInterval(Do_a_Frame, 25);
    addEventListener("keydown", MyKeyDownHandler);
</script>
</body>
</html>

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
전체 1
© SIRSOFT
현재 페이지 제일 처음으로