자바스크립트 캔버스 질문

자바스크립트 캔버스 질문

QA

자바스크립트 캔버스 질문

본문

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 947
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT