2013-06-12 2 views
0

안녕하세요 저는 재미있는 게임처럼 마리오를 만들고, 팔과 다리를 움직이면 마리오가 자신을 움직이게 만듭니다. 나는 그것을위한 코드를 가지고있다. 그리고 그것을 해체한다면, 실제로는 볼 수 있도록 공간을 할당하지 못했다. 지금까지 setTimeout과 .delay를 시도했지만 어느 것도 작동하지 않았습니다.jquery와 함께 성공적인 이미지가 변경됩니다.

여기에 .delay 기능이있는 js 코드가 있습니다.

function animateMario() { 
    // cycles through other 4 images 
    for (var i=1; i<5; i++) { 
     $('#mario').attr('src', 'images/mario/mario_f_'+i+'.png').delay(100); 
    } 

    // returns to original image 
    $('#mario').attr('src', 'images/mario/mario_f_0.png').delay(100); 
}; 

사람이 많이 주시면 감사하겠습니다 :) 당신은 질문이있는 경우를 몇 가지 이유로 지연이 모든 jQuery를 기능이 작동하지 않습니다에 대한

+1

코드를 더 게시하십시오. 계속 진행하십시오. 더 나은 방법은 [jsfiddle] (http://jsfiddle.net)을 만드는 것입니다. – Dom

+0

가능하면 스프라이트 시트를 만들고 위치를 변경하는 것이 좋습니다. –

답변

0

을 물어, 그래서 제발 당신에게 대단히 감사합니다 도움이 될 수있는 경우 간격을 사용해야합니다. 이 코드를 사용해보세요. 내게 도움이되었습니다.

function animateMario() { 
    var i = 1; 
    var timer = setInterval(function(){ 
     $('#mario').attr('src', 'images/mario/mario_f_'+i+'.png'); 
     i++ 
     if(i==5){ 
      clearInterval(timer); 
      $('#mario').delay(1000*(i+1)).attr('src', 'images/mario/mario_f_0.png'); 
     } 
    }, 100) 
}; 
+0

다음 링크 아래 드롭 박스에 코드가 있습니다. 추가 사항을 포함하고 있지만 여전히 작동하지 않는 것 같습니다./ https://www.dropbox.com/sh/crokydxqqwi9yt5/vwxr5U_Xkz 답장을 보내 주셔서 감사합니다 :) – tht13

+0

내 대답을 편집했습니다.보세요. –

+0

대단히 감사합니다 :) – tht13

0

이것은 내 해결책입니다. Jsfiddle Example. 지연 없음, jQuery 필요 없음 :) 간단한 코드를 참조하십시오.

//select the element with the #mario ID 
var el_image = document.getElementById('mario'); 

//array with the image 
var img = [ 
      'http://u.cubeupload.com/FollowTheWeb/1.png', 
      'http://u.cubeupload.com/FollowTheWeb/2.png', 
      'http://u.cubeupload.com/FollowTheWeb/3.png', 
      'http://u.cubeupload.com/FollowTheWeb/4.png', 
      'http://u.cubeupload.com/FollowTheWeb/5.png' 
      ]; 


//functionfor create the animation 
var i=0; 
function frame_switch() 
{ 
    el_image.src = img[i]; //change the src attribute 

    if(i > 3){ //is the index is 4 set i=0 
     i=0; 
    }else{i++; } 
} 


setInterval(frame_switch,150); //repeat the function frame_swith() each 150ms 
+0

잘 생겼지 만 jQuery를 사용하는 이유는 keydown에서 애니메이션을 활성화 할 수 있기 때문입니다. – tht13

+0

keydown은 JS 이벤트이며 jQuery는 않습니다. 이벤트를 만들지 않으면 바로 가기가 만들어집니다. object.onKeyDown = $(). keydown() –

관련 문제