Vorrei realizzare una piantina interattiva e più precisamente vorrei
spostare col mouse dei tavoli numerati in una sala da ricevimenti, in modo
tale da poter configurare la piantina della sala secondo le esigenze del
giorno (ad es., c'è una prenotazione di un gruppo di 14 persone per una
cena, si uniscono nella piantina 2 tavoli da 8 posti; 8+8-2 (i posti a
sedere dei due lati del tavolo combacianti).
Come procedereste? Usando startDrag e hitTest sono partito così (mc1 e mc2
potrebbero essere un tavolo e le mura perimetrali della sala):
mc1.onEnterFrame = function() {
status_txt.text = "pippo "+this.hitTest(mc2);
if (this.hitTest(mc2)){
mc2.stopDrag();
}
};
mc2.onPress = function() {
this.startDrag(false);
updateAfterEvent();
};
mc2.onRelease = function() {
this.stopDrag();
};
...ma l'oggetto trascinato non si arresta esattamente al cozzare con l'altro
oggetto, bensì si 'incastra' sovrapponendosi leggermente o meno a seconda
del movimento del mouse.. (spero di aver reso l'idea).
Inoltre forse non è il modo migliore in vista dei numerosi oggetti (tavoli)
che dovrei gestire...
L'ideale sarebbe poter trascinare liberamente i tavoli all'interno del
perimetro irregolare della sala, impedirne la sovrapposizione con gli
ostacoli (le mura e diversi pilastri centrali) e quando due tavoli si
avvicinano (per uno qualsiasi dei loro lati) avvertire una sorta di
agganciamento calamitato che - se si asseconda - unisce i due tavoli in uno
unico.
Per me è un pò tosta e i programmatori con cui collaboro non masticano
l'actionscript... per voi è difficile?
Grazie a tutti in anticipo