Flash Zone Forum > Ñâÿçü ìåæäó ëîêàëüíûìè è ãëîáàëüíûìè êîîðäèíàòàìè
Ïîìîùü · Ïîèñê · Ïîëüçîâàòåëè · Êàëåíäàðü
Ïîëíàÿ âåðñèÿ ýòîé ñòðàíèöû: Ñâÿçü ìåæäó ëîêàëüíûìè è ãëîáàëüíûìè êîîðäèíàòàìè
Flash Zone Forum > Macromedia Flash > Îáùèå âîïðîñû
Rotwang
Òàêîé ñëó÷àé. Åñòü ôëåøêà ðàçìåðîì 500õ400, è ôîí ðàçìåðîì, íàïðèìåð, 2800õ2500. Ýòîò ôîí ïðîêðó÷èâàåòñÿ âíóòðè ôëåøêè ïåðåòàñêèâàíèåì ìûøüþ. Òàê âîò, íåëüçÿ ëè óñòàíîâèòü êàêîâû ëîêàëüíûå êîîðäèíàòû òî÷êè ôîíà, íàõîäÿùåéñÿ òî÷íî â öåíòðå ôëåøêè? Íå ùåëêàÿ ïðè ýòîì ìûøêîé. Òî åñòü, åñëè ãëîáàëüíûå êîîðäèíàòû öåíòðà ôëåøêè õ=250, ó=200, òî êàêîâû êîîðäèíàòû ëîêàëüíûå?
/2D/
Öèòàòà
Òàê âîò, íåëüçÿ ëè óñòàíîâèòü êàêîâû ëîêàëüíûå êîîðäèíàòû òî÷êè ôîíà, íàõîäÿùåéñÿ òî÷íî â öåíòðå ôëåøêè? Íå ùåëêàÿ ïðè ýòîì ìûøêîé. Òî åñòü, åñëè ãëîáàëüíûå êîîðäèíàòû öåíòðà ôëåøêè õ=250, ó=200, òî êàêîâû êîîðäèíàòû ëîêàëüíûå?

÷òî-òî òàêîå:
Êîä
-1*(mc.x)+stage.stageWidth/2
-1*(mc.y)+stage.stageHeight/2
Rotwang
Öèòàòà(/2D/ @ 8.04.2009 - 07:53) *
÷òî-òî òàêîå:
Êîä
-1*(mc.x)+stage.stageWidth/2
-1*(mc.y)+stage.stageHeight/2

Òî åñòü ýòî ïîëíîñòüþ òàê:
Êîä
local.x=-1*(mc.x)+stage.stageWidth/2
? À ÷òî çäåñü mc.x è mc.y? Êîîðäèíàòû öåíòðà stage? Íî òîãäà âåäü âñå âðåìÿ áóäåò ïîëó÷àòüñÿ îäíî è òî æå çíà÷åíèå?
chingachgoog
Öèòàòà(Rotwang @ 8.04.2009 - 11:47) *
À ÷òî çäåñü mc.x è mc.y?

mc - ýòî âàø ìóâèê-ôîí, ïåðåìåùàåìûé ïî ñòåéäæó.
Ýòî êîä âåðåí, êîãäà ìàñøòàáèðîâàíèå ôëåøêè çàïðåùåíî (íà÷àëî êîîðäèíàò ñòåéäæà â ëåâîì âåðõíåì óãëó) è êîãäà íà÷àëî êîîðäèíàò ìóâèêà-ôîíà òàêæå íàõîäèòüñÿ â ëåâîì âåðõíåì óãëó.

PS
ß òàê ïîíèìàþ âàì â AS3 íóæíî. Òîãäà ïðàâèëüíåå îïðåäåëÿòü òàê:
http://help.adobe.com/ru_RU/AS3LCR/Flash_1...globalToLocal()
Rotwang
Äà, ñïàñèáî chingachgoog, ìíå êàê ðàç íóæíî AS3. À ÷òî, åñëè èçîáðàæåíèå ìàñøòàáèðóåìîå? Âîîáùå, ìíå íóæíî ñäåëàòü êàðòó ñ ïðèáëèæåíèåì è óäàëåíèåì (ñ çóìîì, êîðî÷å ãîâîðÿ). À ïîñêîëüêó íà÷àëî êîîðäèíàò ôîíà â ëåâîì âåðõíåì óãëó, òî ïðè ìàñøòàáèðîâàíèè ïðîèñõîäèò ñìåùåíèå. Ìíå æå íóæíî, ÷òîáû zoom ïðîèñõîäèë îòíîñèòåëüíî öåíòðà, òî åñòü íåîáõîäèìî êàê-òî êîìïåíñèðîâàòü ýòî ñìåùåíèå. Íî âîò ôîðìóëó ïîêà ïîäîáðàòü íå ìîãó.
chingachgoog
Öèòàòà(Rotwang @ 8.04.2009 - 12:43) *
À ÷òî, åñëè èçîáðàæåíèå ìàñøòàáèðóåìîå?

ß èìåë â âèäó
http://help.adobe.com/ru_RU/AS3LCR/Flash_1...e.html#NO_SCALE
Rotwang
Ñ ìåòîäîì globalToLocal() ðàçîáðàëñÿ, êàê îí ðàáîòàåò. Òåïåðü äðóãîå ïðåïÿòñòâèå - ïåðåäàòü ðåçóëüòàòû åãî ðàáîòû ïåðåìåííûì.
Êîä
var point1:Point = new Point(250, 200);

Ïðèìåíÿþ globalToLocal() äëÿ îïðåäåëåíèÿ ëîêàëüíûõ êîîðäèíàò â ýòîé òî÷êå.
Êîä
container.globalToLocal(point1);
trace(container.globalToLocal(point1));

Âñå ðàáîòàåò, â output ïîëó÷àåì, ê ïðèìåðó, òàêèå çíà÷åíèÿ: (x=300, y=240). Êàê òåïåðü ïåðåäàòü ýòè êîîðäèíàòû ïåðåìåííûì newX è newY, åñëè globalToLocal() âîçâðàùàåò Point?(globalToLocal(point:Point):Point).
chingachgoog
Öèòàòà(Rotwang @ 8.04.2009 - 15:33) *
Êàê òåïåðü ïåðåäàòü ýòè êîîðäèíàòû ïåðåìåííûì newX è newY, åñëè globalToLocal() âîçâðàùàåò Point?


Ïðî÷èòàòü ñâîéñòâà îáúåêòà Point ïîä èìåíàìè x è y.
Rotwang
ß, êàæåòñÿ, ðàçîáðàëñÿ. Ñîçäàþ îáúåêò newPoint:
Êîä
var newPoint:Point=container.globalToLocal(point1);
trace("newX="+newPoint.x);
trace("newY="+newPoint.y);

Òàê âåäü òîæå ìîæíî?
chingachgoog
Òàê è íóæíî biggrin.gif
Ðóññêàÿ âåðñèÿ IP.Board © 2001-2009 IPS, Inc.