Loading:

Zaplanuj Przeprowadzke - Ściągnij Darmową Aplikację na Androida

MovieClip globalToLocal [AS 2]

Klasa: MovieClip

Kompatybilność: ActionScript 1.0, Flash 5+

 

Konstruktor

 

globalToLocal(pt:Object) : Void

 

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


Napisz Artykuł

Listing

//# Przykład 1
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> &nbsp; \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);
 


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=12&t=3562

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 37169
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors