Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Rilevare collisioni 2D tra elementi

    Ciao gente!

    Ho bisogno di un aiutino per sviluppare un sistema di rilevamento delle collisioni tra elementi/oggetti.

    Ho un elemento <div> di cui posso fare il drag'n'drop tramite un click del mouse.

    Adesso ho bisogno di intercettare quali sono gli elementi, sottostanti al <div> (nel senso di sotto 'in profondità' sull'asse Z), che vengono coperti/toccati dall'area del <div> trascinato.

    - Parte il drag'n'drop
    - Calcolo l'area del rettangolo
    - Ogni tot step, o in modo continuativo, richiamo una funzione per controllare sopra quale elemento passa l'area del div
    - La funzione ritorna le coordinate del punto, o dell'asse, in cui i due oggetti si toccano e si verifica la collisione (o overlapping potremmo anche chiamarlo)


    Sapete darmi un suggerimento o indicarmi un esempio/tutorial/guida dove posso vedere come implementarlo?

    Grazie

  2. #2

    Si accettano consigli!

    UP Gente!! UP!!!

  3. #3
    non conosco niente di pulito e banale.
    Prova a vedere qualche game library basata su jquery come
    jsgamelib http://www.fragmentedcode.com/jsgamelib/
    o gamequery http://gamequery.onaluf.org/

    Guarda questo esempio http://projects.zoulcreations.com/jquery/JSGameLib/ la funzione che fa la collision detection non sembra impossibile, credo che devi dare la stessa classe ad ogni elemento su cui vuoi testare la collisione perchè non te la fa in automatico su tutti gli elementi del dom.

    Rimane inoltre da ricavarsi a mano le coordinate di dove è avvenuta la collisione.

    Sinceramente non ho mai capito perchè non esista, e se esiste io non l'ho mai trovato, un modo pulito per sapere TUTTI gli elementi del dom si trovano in un preciso punto di coordinate (x,y), a prescindere dalla loro visibilità. La cosa che più si avvicina è catturare per ogni elemento l'evento onclick e usare la propagazione degli eventi per vedere chi nel punto cliccato ha gestito l'evento.
    Ci vorrebbe un document.elementFromPoint(x, y) che invece di restituire the top most element
    restituisse un array

    Dai un'occhiata anche a questo topic per riuscire a ricavare le coordinate di un elemento
    http://forum.html.it/forum/showthrea...hreadid=530318
    e a questo codice che però non ho mai provato http://jsfromhell.com/geral/hittest

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.