Flash Zone Forum > êàê îòöåíòðèðîâàòü ïðîãðàììûé ìóâèêëèï
Ïîìîùü · Ïîèñê · Ïîëüçîâàòåëè · Êàëåíäàðü
Ïîëíàÿ âåðñèÿ ýòîé ñòðàíèöû: êàê îòöåíòðèðîâàòü ïðîãðàììûé ìóâèêëèï
Flash Zone Forum > Macromedia Flash > Îáùèå âîïðîñû
missouri
Äîáðûé äåíü. Ïîìîãèòå ïîæàëóéñòà.
Äåëî âîò â ÷åì. Î÷åíü ïðîñòî ñîçäàòü ìóâèê, è ïîòîì çàñòàâèòü åãî äâèãàòüñÿ
Äëÿ òîãî, ÷òîáû öåíòð ìûøè ïðèõîäèëñÿ íà öåíòð ìóâèêà, íàäî ïðîñòî â ðåæèìå ðàäàêòèðîâàíèÿ ñèìâîëà åãî ïåðåòàùèòü íà ìàëåíüêèé òàêîé êðåñòèê.
À ó ìåíÿ ìóâèê ñîçäàåòñÿ ïðîãðàììíî âî âðåìÿ ðàáîòû ïðèëîæåíèÿ ìåòîäàìè moveTo è lineTo. Êàê ìíå â ýòîì ñëó÷àå çàñòàâèòü åãî öåíòðèðîâàòüñÿ òàê æå?
Åñëè êòî çíàåò, ïîäñêàæèòå, íå ïîëåíèòåñü.
MustLive
missouri

Öèòàòà
Äëÿ òîãî, ÷òîáû öåíòð ìûøè ïðèõîäèëñÿ íà öåíòð ìóâèêà, íàäî ïðîñòî â ðåæèìå ðàäàêòèðîâàíèÿ ñèìâîëà åãî ïåðåòàùèòü íà ìàëåíüêèé òàêîé êðåñòèê.

Åù¸ öåíòð îáúåêòà (êîòîðûé òàêæå íîñèò èìÿ "òî÷êà ðåãèñòðàöèè" è "òî÷êà öåíòðà") ìîæíî çàäàòü ïðè ñîçäàíèè ìóâèêëèïà èëè äðóãîãî îáúåêòà. Îïÿòü æå â ðó÷íîì ðåæèìå, êîãäà ñîçäà¸òñÿ íîâûé îáúåêò èëè íà îñíîâå òåêóùåãî âûäåëåíèÿ.

Öèòàòà
ó ìåíÿ ìóâèê ñîçäàåòñÿ ïðîãðàììíî âî âðåìÿ ðàáîòû ïðèëîæåíèÿ ìåòîäàìè moveTo è lineTo. Êàê ìíå â ýòîì ñëó÷àå çàñòàâèòü åãî öåíòðèðîâàòüñÿ òàê æå?

Ïðîãðàììíî æå, ñ ïîìîùüþ action script, èçìåíèòü öåíòð âîçìîæíîñòè íå èìååòñÿ. Ïî êðàéíåé ìåðå äëÿ ôëåøà âåðñèè ÌÕ âêëþ÷èòåëüíî ìíå òàêèå âîçìîæíîñòè íå âåäîìû (è õåëïó ôëåøåâîìó òîæå).

 ýòîì ñëó÷àå ëþäè ó÷èòûâàþò öåíòð ïðè ðàáîòå ñ îáúåêòàìè.

Ïðè ñîçäàíèè îáúåêòîâ âîçìîæíû äâà ñëó÷àÿ: 1) "öåíòð" â öåíòðå, è 2) "öåíòð" â ëåâîì âåðõíåì óãëó.

Äëÿ îáîèõ ñëó÷àåâ ïðîãðàììíî ó÷èòûâàåòñÿ è ðàñïîëîãàåòñÿ îáúåêò íåîáõîäèìûì îáðàçîì íà ýêðàíå. Ïðè ýòîì ïðè èñïîëüçîâàíèè moveTo è lineTo ñëåäóåò ïîìíèòü, ÷òî äàííûìè ìåòîäàìè ó÷èòûâàþòñÿ "öåíòðû" îáúåêòîâ, ê êîòîðûì îíè ïðèìåíÿþòñÿ:
Êîä
myMovieClip.moveTo (x, y)

Parameters

x An integer indicating the horizontal position relative to the registration point of the parent movie clip.

y An integer indicating the vertical position relative to the registration point of the parent movie clip.

Ò.å. ñ ó÷¸òîì "öåíòðà" ñäâèãàåòñÿ îáúåêò òàêèì îáðàçîì, ÷òîáû îí ðàñïîëîãàëñÿ â íóæíîì ìåñòå ýêðàíà. È ñ ó÷¸òîì ïîñëåäóþùèõ moveTo è lineTo è äðóãèõ îáúåêòîâ.

Ïðè ýòîì ïðèõîäèòñÿ èìåòü äåëî ñ äâóìÿ âàðèàíòàìè ïåðâîíà÷àëüíîãî ðàñïîëîæåíèÿ "öåíòðà". ×òîáû èçáàâèòñÿ îò äàííîé ìîðîêè âîçìîæíî èñïîëüçîâàòü ìåòîä getBounds.

Êîä
myMovieClip.getBounds(targetCoordinateSpace)

Parameters

targetCoordinateSpace The target path of the Timeline whose coordinate system you want to use as a reference point.

Returns

An object with the properties xMin, xMax, yMin, and yMax.

Íàïðèìåð ÷òîáû ðàñïîëîæèòü äâà êëèïà clip è clip2 áîê î áîê, íåîáõîäèìî:
Êîä
clipBounds = clip.getBounds(_root);
clip2._x = clipBounds.xMax;
tiHo
ìîæíî òàê ïîïðîáûâàòü:

onMouseDown=function(){
clip._x = _xmouse - clip._width/2
clip._y = _ymouse - clip._height/2
}


ñêðèïò ïèñàòü íà êàäð, à íå íà êëèï.

ïðè íàæàòèè ìûøè, êëèï(clip) áóäåò öåíòðèðîâàòñÿ ïîä êóðñîðîì.
tiHo
ñïóñòÿ 1 ãîä è 3 ìåñÿöà, ïîíÿë ÷òî ëó÷øå âñåòàêè ìíå áûëî íàïèñàòü íå onMouseDown à onMouseMove biggrin.gif laugh.gif

PS> ññûëêó íà ïîñò íàøåë òîëüêî ÷òî èç äðóãîãî ïîñòà.. ïîåòîìó ñ "íåáîëüøèì" îïîçäàíèåì çàÿâëÿþ î ñâîåé íåòî÷íîñòè smile.gif
MustLive
Öèòàòà
ñïóñòÿ 1 ãîä è 3 ìåñÿöà, ïîíÿë ÷òî ëó÷øå âñåòàêè ìíå áûëî íàïèñàòü íå onMouseDown à onMouseMove

Ýñòîíöû ñ ðàäîñòüþ ïðèìóò òåáÿ â ñâîè ðÿäû biggrin.gif

Öèòàòà
ññûëêó íà ïîñò íàøåë òîëüêî ÷òî èç äðóãîãî ïîñòà

Ýòî ÿ ñïåöèàëüíî ñîñëàëñÿ íà ýòó òåìó èç äðóãîãî ïîñòà smile.gif, ÷òîáû òû ñìîã çàíîãî ïåðåñìîòðåòü ñâîé êîä.
nikitar
Âîîáùå, ýòîò ïóòü íå ïîéä¸ò, ïîòîìó ÷òî, íàïðèìåð, ïðè âðàùåíèè ìóâèêëèïà âîêðóã ñâîåãî öåíòðà íóæíî, ÷òîáû öåíòð áûë èìåííî â öåíòðå ìóâèêëèïà, à íå â âåðõíåé ëåâîé òî÷êå. Ïîýòîìó ñîâåòóþ ïîñòóïèòü òàê. Âðó÷íóþ ñîçäàòü ìóèâêëèï ñ ðåãèñòðàöèåé â öåíòðå, çàòåì åãî óáðàòü â áèáëèîòåêó, ïðîïèñàòü ïðàâèëüíî linkage è âûçâàâ â ðîëèê, êîãäà ýòî íóæíî ðèñîâàòü ïðÿìî â í¸ì.
Âñ¸ ðàâíî äëÿ òîãî, ÷òîáû ðèñîâàòü îáû÷íî ñîçäàþò íîâûé ìóâèêëèï, à âû ðèñóéòå â ýòîì, à ïîòîì âðàùàéòå åãî êàê íàäî, óæå âîêðóã ñâîåãî öåíòðà.
MustLive
Öèòàòà
Âîîáùå, ýòîò ïóòü íå ïîéä¸ò, ïîòîìó ÷òî, íàïðèìåð, ïðè âðàùåíèè ìóâèêëèïà âîêðóã ñâîåãî öåíòðà íóæíî, ÷òîáû öåíòð áûë èìåííî â öåíòðå ìóâèêëèïà, à íå â âåðõíåé ëåâîé òî÷êå. Ïîýòîìó ñîâåòóþ ïîñòóïèòü òàê.

 ýòîì ñëó÷àå, êîãäà íóæíî ïîâîðà÷èâàòü ìóâèêëèï, ëó÷øå ñîçäàòü ìóâèê âðó÷íóþ, êàê òû âåðíî çàìåòèë. Íî, nikitar, åñëè òû ïî÷èòàåøü ìîé ïåðâûé îòâåò â ýòîé òåìå, òû óâèäåøü, ÷òî ÿ óæå îá ýòîì ïèñàë wink.gif (è missouri îá ýòîì ïèñàë).

Òàê ÷òî ýòîò âàðèàíò îáñóæäàëñÿ èçíà÷àëüíî. Íî âîïðîñ áûë ïîñòàâëåí îá àëüòåðíàòèâå ðó÷íîãî ñîçäàíèÿ ìóâèêëèïîâ. À ïðè ïðîãðàììíîì ñîçäàíèè (áåç ïðåäâàðèòàëüíîãî ñîçäàíèÿ ìóâèêà è ïîìåùåíèÿ â áèáëèîòåêó), ìîæíî âîñïîëüçîâàòüÿ ëèøü ïðîãðàììíûìè ìåòîäàìè. Î êîòîðûõ ïèñàë ÿ è Ñàøà - ñ ïîìîùü getBounds èëè clip._width ñ clip._height.
Ðóññêàÿ âåðñèÿ IP.Board © 2001-2009 IPS, Inc.