2013-11-23 21 views
8

Tôi đang sử dụng hoạt ảnh CSS và jQuery để di chuyển ô tô ở ngã tư (điểm trên cùng) để mô phỏng bài kiểm tra giấy phép lái xe. Người dùng phải chọn đơn đặt hàng qua bằng cách nhấp vào ô tô. Hình ảnhPhát hiện va chạm giữa các ảnh được xoay bằng hoạt ảnh CSS

mẫu: http://i40.tinypic.com/717fc9.jpg

Mỗi chiếc xe có các đặc tính và một phim hoạt hình như thế này ví dụ: xe màu xanh chuyển RIGHT (khác với hình ảnh):

#auto-b { 
    left: 320px; 
    top: 150px; 
    -webkit-transform: rotate(180deg); 
} 

.animated #auto-b { 
    -webkit-animation-name: move-b; 
    -webkit-animation-fill-mode: forwards; 
} 

@-webkit-keyframes move-b { 

    30% { 
     left: 260px; 
     top: 150px; 
     -webkit-transform: rotate(180deg); 
    } 
    60% { 
     left: 214px; 
     top: 120px; 
     -webkit-transform: rotate(270deg); 
    } 

    100% { 
     top: 30px; 
     left: 214px; 
     -webkit-transform: rotate(270deg); 
    } 
} 

Điều tôi không tìm ra là làm thế nào tôi có thể phát hiện nếu hai chiếc xe va chạm kể từ khi họ được xoay (quay).

nút Play chức năng:

$('#play').on('click', play); 

function play(){  
    $('.auto').removeClass('selected'); 
    $('#incrocio').addClass('animated');  
    interval = setInterval(crash,1); 
} 

sụp đổ function (chỉ làm việc với những chiếc xe màu đỏ và màu xanh lá cây va chạm bởi vì họ không xoay):

function crash(){ 

    var autoA = $('#auto-a').position();  
    var autoB = $('#auto-b').position(); 
    var autoC = $('#auto-c').position();  
    var top1 = autoA.top+10; 
    var top2 = autoA.top-10; 
    var left1 = autoA.left+10; 
    var left2 = autoA.left-10; 

    if (top1 > autoC.top && top2 < autoC.top && left1 > autoC.left && left2 < autoC.left) { 
     console.log("boom"); 
     $('#incrocio').removeClass('animated'); 
     alert("BOOM!"); 
     i = 1; 
     carsArray = []; 
     clearInterval(interval); 
    } 
} 

Có một cách dễ dàng để phát hiện bất kỳ loại va chạm nào giữa mọi hình ảnh có lớp ".uto"?

Tôi cũng nghĩ về việc tính toán mọi điểm của hình chữ nhật và kiểm tra xem có bất kỳ điểm nào trong số đó nằm bên trong hình chữ nhật khác (ô tô) hay không. Tuy nhiên, tôi chỉ có thể lấy điểm trên cùng bên trái chứ không phải các điểm khác.

Bất kỳ giải pháp nào?

Cảm ơn trước!

+2

Giải quyết bằng cách sử dụng chồng chéo JQuery: http://plugins.jquery.com/overlaps/ – Vig

+9

Bạn có chia sẻ giải pháp bằng cách trả lời câu hỏi của riêng bạn không? Bằng cách đó câu hỏi được đóng lại và nó sẽ giúp nhiều người hơn trong tương lai. –

Trả lời

0

Sử dụng Jquery/javascript để vẽ hoạt ảnh của ô tô. sử dụng hoạt ảnh css3 là một lựa chọn rất tồi tệ trong việc phát hiện sự kiện hoặc phát hiện va chạm.

[SOLVED]

trong khi sử dụng jquery sử dụng plugin dưới đây để phát hiện dễ dàng.

http://plugins.jquery.com/overlaps/

http://yckart.github.io/jquery.overlaps.js/

[SOLVED]

hy vọng bạn đã hiểu điểm của tôi.

+4

Câu trả lời là gì? Bạn có thể thêm nhiều giá trị hơn cho nó? Một số lời giải thích, một số ví dụ? Một số mã? –

Các vấn đề liên quan