저는 두 개의 div로 간단한 풍선 게임을 개발하고 있습니다. 문제는 두 div가 서로 접촉 할 때 함수를 트리거 할 수 없다는 것입니다.두 div가 jquery와 접촉하는지 감지하는 방법은 무엇입니까?
답변
경계 상자 충돌 감지를 찾고 있습니다. 이벤트를 발생 시키려면 반복적으로 테스트해야하지만 게임 루프에서 모든 게임 개체에 대해 함수를 실행하는 것이 좋습니다. 샌드 박스 http://jsfiddle.net/nGRwt/7/
function collision($div1, $div2) {
var x1 = $div1.offset().left;
var y1 = $div1.offset().top;
var h1 = $div1.outerHeight(true);
var w1 = $div1.outerWidth(true);
var b1 = y1 + h1;
var r1 = x1 + w1;
var x2 = $div2.offset().left;
var y2 = $div2.offset().top;
var h2 = $div2.outerHeight(true);
var w2 = $div2.outerWidth(true);
var b2 = y2 + h2;
var r2 = x2 + w2;
if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
return true;
}
감사합니다. – thelost
하나는 이것을 편집하여 div가 나란히 서서 겹치지 않도록 할 수 있습니까? –
안녕하세요. @BC. 저작자 표시없이이 코드를 자유롭게 복사하여 사용하면 어떨까요? –
에서 당신은 jquery-collision 플러스 jquery-ui-draggable-collision을 시도 할 수있다. 전체 공개 : 나는 sourceforge에서 이것을 썼다.
첫이 허용 :
"#collider를"오버랩 전체 '.obstacle "의 목록var hit_list = $("#collider").collision(".obstacle");
. 에 바인딩 (무엇보다도)을 제공
$("#collider").draggable({ obstacle: ".obstacle" });
하는 "충돌"이벤트 :
두 번째는 수
$("#collider").bind("collision", function(event,ui){...});
그리고 당신도 설정할 수 있습니다
$("#collider").draggable({ obstacle: ".obstacle", preventCollision: true });
"#collider"가 드래그하는 동안 ".obstacle"과 중복되는 것을 방지합니다.
매우 멋진 플러그 접속 식! – user2896540
- 1. 두 이미지의 충돌을 감지하는 방법은 무엇입니까?
- 2. 두 UIView에 속한 두 UIImageViews 간의 충돌을 감지하는 방법은 무엇입니까?
- 3. 두 값을 jquery와 비교하는 방법은 무엇입니까?
- 4. 두 div가 겹치고 부모 div가 '지우기'
- 5. jquery-child 아이디를 감지하는 방법은 무엇입니까?
- 6. 파일을 감지하는 방법은 무엇입니까?
- 7. CATiledLayer를 감지하는 방법은 무엇입니까?
- 8. 정규식을 사용하여 두 번째 발생을 감지하는 방법은 무엇입니까? (PHP)
- 9. DNS 프로토콜로 두 호스트 간의 네트워크 지연을 감지하는 방법은 무엇입니까?
- 10. 플래시가있는 숨겨진 DIV가 jQuery와 함께 표시되지 않습니다.
- 11. JQuery와 스크립트가 가져온 페이지로드 후 div가 작동하지
- 12. Javascript/JQuery 객체의 높이를 감지하는 방법은 무엇입니까?
- 13. 페이지 리디렉션을 감지하는 방법은 무엇입니까?
- 14. 변수가 변경되었는지 감지하는 방법은 무엇입니까?
- 15. compileall.compile_dir에서 오류를 감지하는 방법은 무엇입니까?
- 16. 클라이언트 시간대를 감지하는 방법은 무엇입니까?
- 17. 시야를 렌더링하고 감지하는 방법은 무엇입니까?
- 18. 브라우저 플러그인을 감지하는 방법은 무엇입니까?
- 19. Win32에서 디렉토리를 감지하는 방법은 무엇입니까?
- 20. Vim에서 함수를 감지하는 방법은 무엇입니까?
- 21. 두 양식 필드를 jQuery와 함께 하나의 변수로 결합하는 방법은 무엇입니까?
- 22. 클래스에서 속성 변경을 감지하는 방법은 무엇입니까?
- 23. 쉘에서 null 값을 감지하는 방법은 무엇입니까?
- 24. WPF의 Xaml에서 현재 테마를 감지하는 방법은 무엇입니까?
- 25. 직렬 COM1 포트에서 신호를 감지하는 방법은 무엇입니까?
- 26. 보기에서 이중 탭을 감지하는 방법은 무엇입니까?
- 27. 멀티 터치를 순차적으로 감지하는 방법은 무엇입니까?
- 28. IOS를 사용하여 핑거 사이즈를 감지하는 방법은 무엇입니까?
- 29. ScrollView에서 페이지가 스크롤되는지 여부를 감지하는 방법은 무엇입니까?
- 30. CSS를 jQuery와 토글하는 방법은 무엇입니까?
div가 이동하고 있습니까? 아니면 정확히 무슨 일이 일어나고 무엇을 일으키려고합니까? – justkt
jQuery draggables 또는 다른 것을 사용하고 있습니까? 이 질문은 응답을 얻기 위해 더 많은 정보/설명이 필요합니다. – Tejs
더 많은 정보와 코드를 제공해주십시오. – Ant