Klasa: MovieClip
Kompatybilność: ActionScript 1.0, Flash 5+
Konstruktor
Opis
Konwertuje obiekt 'pt' z klipu filmowego (lokalnych) współrzędnych do Sceny (globalnych) współrzędnych.
Jest to odwrotnośc metody MovieClip.globalToLocal() .
Metoda MovieClip.localToGlobal()
pozwala ci na konwertowanie każdych danych współrzędnych x oraz y z wartości, relatywnych do lewego górnego rogu klipu filmowego do wartości, które są relatywne do lewego górnego rogu określonego na Scenie.
Musisz najpierw stworzyć własny obiekt, który będzie posiadał dwa parametry, x oraz y. Te wartości są nazywane lokalnymi współrzędnymi, poniważ są one relatywne do kewego górnego rogu klipu filmowego. Właściwość x reprezentuje odległość w poziomie, a y odległość w pionie od lewego górnego rogu. Na przykład jeśli x = 50, wtedy punkt znajduje się 50 pikseli od lewego górnego punktu. Podany kod generuje obiekt z tymi współrzędnymi:
var mojPunkt:Object = new Object();
mojPunkt.x = 50;
mojPunkt.y = 20;
Alternatywnie, możesz stworzyć obiekt oraz dodać do niego wartości w tym samym czasie na raze:
var mojPunkt:Object = {x:50, y:20};
Po tym jak utworzysz obiekt z lokalnymi współrzędnymi, możesz skonwertować je na na globalne współrzędne. Metoda localToGlobal()
nie zwraca żadnej wartości, ponieważ ona zmienia podaną wartość. Następuje zamiana relatywności punktów z klipu filmowego do Sceny.
Współrzędne klipu filmowego zostały wyrażone przez użycie _x
oraz _y
, ponieważ to są właściwości MovieClip do ustawienia wartości x i y dla klipu filmowego. Jednakże twój obiekt używa wartości x
oraz y
bez podkreślenia. Podany kod konwertuje wartości na globalne x i y:
var mojPunkt:Object = {x:0, y:0}; // Tworzy generyczny obiekt punktu.
this.createEmptyMovieClip("mojKlipFilmowy", this.getNextHighestDepth());
mojKlipFilmowy._x = 100; // _x dla pozycji x klipu filmowego
mojKlipFilmowy._y = 100; // _y dla pozycji x klipu filmowego
mojKlipFilmowy.localToGlobal(mojPunkt);
trace ("x: " + mojPunkt.x); // -100
trace ("y: " + mojPunkt.y); // -100
Listing
this.createTextField("wspolrzedne_txt", this.getNextHighestDepth(), 10, 10, 100, 22);
wspolrzedne_txt.html = true;
wspolrzedne_txt.multiline = true;
wspolrzedne_txt.autoSize = true;
this.createEmptyMovieClip("target_mc", this.getNextHighestDepth());
target_mc._x = 100;
target_mc._y = 100;
target_mc.loadMovie("zdjecie1.jpg");
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
var punkt:Object = {x:_xmouse, y:_ymouse};
target_mc.localToGlobal(punkt);
var rowHeaders = "<b> \t</b><b>_x\t</b><b>_y</b>";
var row_1 = "_root\t"+_xmouse+"\t"+_ymouse;
var row_2 = "target_mc\t"+punkt.x+"\t"+punkt.y;
wspolrzedne_txt.htmlText = "<textformat tabstops='[100, 150]'>";
wspolrzedne_txt.htmlText += rowHeaders;
wspolrzedne_txt.htmlText += row_1;
wspolrzedne_txt.htmlText += row_2;
wspolrzedne_txt.htmlText += "</textformat>";
};
Mouse.addListener(mouseListener);
Ranga: Administrator serwisu Punktów: 0