Технология создания учебных мультимедиа-продуктов в инструментальной среде Macromedia Flash MX. Шишканов Д.В - 184 стр.

UptoLike

184
âåäåíèå êîîðäèíàò êàïëè è çîíòèêà ê îäíîé ñèñòåìå êîîðäèíàò. Äëÿ
ýòîãî íåîáõîäèìî ê êîîðäèíàòàì êàïëè ïðèáàâèòü êîîðäèíàòû âè-
äåîêëèïà fall.
Ïîñêîëüêó òî÷êà ïðèâÿçêè âèäåîêëèïà ñ
èçîáðàæåíèåì êàïëè ðàñïîëîæåíà â öåíòðå
ôèãóðû, êîîðäèíàòà Y ñàìîé íèæíåé òî÷êè
êàïëè (drop) áóäåò ðàâíà Y
êàïëè
+H
êàïëè
/2, ãäå
H
êàïëè
- âûñîòà êàïëè.
 èòîãå êîîðäèíàòû íèæíåé òî÷êè êàïëè, âûðàæåííûå â ñèñòåìå
êîîðäèíàò îñíîâíîé ñöåíû, ãäå íàõîäèòñÿ çîíòèê, áóäóò çàïèñûâàòü-
ñÿ ñëåäóþùèì îáðàçîì: X
fall
+X
êàïëè
èY
fall
+Y
êàïëè
+H
êàïëè
/2.
 äàííîì ñëó÷àå, ïîñêîëüêó êîìàíäû çàïèñûâàþòñÿ â êàäðàõ âè-
äåîêëèïà fall, äëÿ îáðàùåíèÿ ê åãî êîîðäèíàòàì ñëåäóåò èñïîëüçî-
âàòü êëþ÷åâîå ñëîâî this, ò.å. X
fall
=this._x è Y
fall
=this._y.
Îñòàëüíûå âåëè÷èíû âûðàæàþòñÿ ñëåäóþùèì îáðàçîì:
X
êàïëè
=drop._x; Y
êàïëè
=drop._y; H
êàïëè
=drop._height.
Òàêèì îáðàçîì, êîîðäèíàòà X íèæíåé òî÷êè êàïëè áóäåò ðàâíà
this._x+drop._x, êîîðäèíàòà Y íèæíåé òî÷êè êàïëè áóäåò ðàâíà
this._y+drop._y+drop._height/2.
Èòàê, äëÿ òîãî, ÷òîáû óñîâåðøåíñòâîâàòü ïðåäûäóùèé ïðèìåð,
âìåñòî ñîâîêóïíî ñòè êîìàíä if (drop.hitTest(_root.roof)) íåîáõîäèìî
çàïèñàòü if (_root.roof.hitTest(this._x+drop._x, this._y+drop._y
+drop._height/2, true)).
Åñëè âñ¸ áûëî ñäåëàíî
ïðàâèëüíî, êàïëè áóäóò ”îá-
òåêàòü” çîíòèê. Îïèñàííûé
âûøå ïîäõîä óíèâåðñàëåí è
ðàáîòàåò äëÿ ïåðåãîðîäîê
ëþáîé ôîðìû.
Îáðàáîòêà äåéñòâèÿ drag’n’drop
Äåéñòâèå drag’n’drop êàê ñëîæíûé ñöåíàðèé èíòåðàêòèâíîñòè ñî-
ñòîèò èç òð¸õ ÷àñòåé:
1. Ïîäâåäåíèå êóðñîðà ìûøè ê î áúåêòó è íàæàòèå ëåâîé êíîïêè
ìûøè (”çàõâàò”).
2. Ïåðåìåùåíèå îáúåêòà ïî ýêðàíó ïðè îäíîâðåìåííîì óäåðæà-
íèè ëåâîé êíîïêè ìûøè.