Klasa: MovieClip
Kompatybilność: ActionScript 1.0, Flash 5+
Konstruktor
Opis
Konwertuje obiekt 'pt' ze Sceny (globalne) współrzędnych do współrzędnych klipu filmowego (lokalne).
Metoda MovieClip.globalToLocal()
pozwala ci na konwertowanie każdych danych współrzędnych x oraz y z wartości, relatywnych do lewego górnego rogu Sceny do wartości, które są relatywne do lewego górnego rogu określonego klipu filmowego.
Musisz najpierw stworzyć włąsny obiekt, który będzie posiadał dwa parametry, x oraz y. Te wartości są nazywane globalnymi współrzędnymi, poniważ są one relatywne di kewego górnego rogu Sceny. 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 globalnymi współrzędnymi, możesz skonwertować je na na lokalne współrzędne. Metoda globalToLocal()
nie zwraca żadnej wartości, ponieważ ona zmienia podaną wartość. Następuje zamiana relatywności punktów ze Sceny do klipu filmowego.
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 lokalne 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.globalToLocal(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.globalToLocal(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