[Flash] pytanie o funkcję i nie tylko
Rozpoczęty przez
Speed222
, 14 04 2008 18:58
9 odpowiedzi w tym temacie
#1
Napisano 14 04 2008 - 18:58
witam!! mam takie pytanko: jak ma wyglądać funkcja która oblicza mi we Flashu funkcja która pobiera mi dane z 2 pól typu 'input text' i oblicza pierwiastek kawadratowy z z sumy ich kwadratów (czyli chce obliczyć c, a wiec c=pierwiastek z a^+b^ czyli twierdzenie pitagorasa). wynik ma natomiast znaleźć się w tzrecim polu typu 'input text'! bardzi prosze o pomoc! to ważne!
pit.bmp 189,69 KB 231 Ilość pobrań
ma to wyglądać tak jak w załączniku! pomóżcie!
pit.bmp 189,69 KB 231 Ilość pobrań
ma to wyglądać tak jak w załączniku! pomóżcie!
#2
Napisano 15 04 2008 - 09:35
Robisz tak:
Wstawiasz na scenę trzy pola tekstowe (z komponentów) i nadajesz im nazwy "a_txt", "b_txt" oraz "c_txt".
Dodajesz komponent button i dajesz mu nazwę "licz_btn".
Następnie w pierwszej klatce osobnej warstwy (wypada stworzyć osobną warstwę dla kodu) wklejasz ten kod:
this.licz_btn.onRelease = function(){
var a:Number = 0;
var b:Number = 0;
var c:Number = 0;
a = a_txt.text;
b = b_txt.text;
c = Math.sqrt( a*a + b*b );
}
Po kliknięciu przycisku flash przeliczy Ci równanie.
EDIT: Cholerne emotki.
Wstawiasz na scenę trzy pola tekstowe (z komponentów) i nadajesz im nazwy "a_txt", "b_txt" oraz "c_txt".
Dodajesz komponent button i dajesz mu nazwę "licz_btn".
Następnie w pierwszej klatce osobnej warstwy (wypada stworzyć osobną warstwę dla kodu) wklejasz ten kod:
this.licz_btn.onRelease = function(){
var a:Number = 0;
var b:Number = 0;
var c:Number = 0;
a = a_txt.text;
b = b_txt.text;
c = Math.sqrt( a*a + b*b );
}
Po kliknięciu przycisku flash przeliczy Ci równanie.
EDIT: Cholerne emotki.
#3
Napisano 15 04 2008 - 16:10
ok dzięx mistrzu! a mam jeszcze takie pytanko: czy musi być na końcu to text (czyli czy usi być a=a_txt.text)?? a jeśli tak to dlaczego!!
co oznacza to 'Math'?? bo muszę wiedzieć takie rzeczy gdyż będę musiał to omówić! Ale można zatapić to ' a_txt ' inną nazwą??
co oznacza to 'Math'?? bo muszę wiedzieć takie rzeczy gdyż będę musiał to omówić! Ale można zatapić to ' a_txt ' inną nazwą??
#4
Napisano 16 04 2008 - 10:33
Już Ci odpowiadam.
1.
To "text" we frazie "a_txt.text" to właściwość instancji obiektu TextArea.
Mówiąc językiem ludzkim (bo zakładam, że nie znasz do końca obiektowego programowania) masz coś takiego jak pole tekstowe, ono ma kilka właściwości jak na przykład ramka (border), szerokość (_width), wysokość (_height) itd. Jak chcesz zmienić jakąś właściwość pola tekstowego to piszesz w taki sposób jak Ci pokazałem, np:
a_txt._width = 500;
ustawi Ci szerokość pola tekstowego "a_txt" na 500 px. Identycznie jest z właściwośćią text. Przechowuje ona zawartość pola tekstowego. Jak więc coś przypiszesz do tej właściwości (a_txt.text = "literki") to zostanie to w tym polu wyświetlone. W taki sam sposób możesz pobierać właściwości z pola tekstowego (np: zmienna = a_txt.text).
2.
Math to klasa do obliczeń matematycznych. Wywołując Math.sqrt wywołujesz metodę sqrt (pierwiastek kwadratowy).
3.
Nazwy możesz zmieniać jak chcesz. Tylko musisz pamiętać, że jak zmienisz nazwę komponentu na scenie to musisz zmienić ją w kodzie. Przyrostek "_txt" to nie jest rzecz konieczna, jednak polecana. W ten sposób patrząc na kod wiesz z czym masz do czynienia (np. dla movie clipów daje się przyrostek "_mc").
Jeśli chcesz więcej poczytać np. o klasie Math to skorzystaj z pomocy flasha (najedź na słowo Math w kodzie i wciśnij F1). Niestety wszystko jest po angielsku, po polsku raczej ciężko o takie rzeczy, chyba, że jakiś podręcznik.
1.
To "text" we frazie "a_txt.text" to właściwość instancji obiektu TextArea.
Mówiąc językiem ludzkim (bo zakładam, że nie znasz do końca obiektowego programowania) masz coś takiego jak pole tekstowe, ono ma kilka właściwości jak na przykład ramka (border), szerokość (_width), wysokość (_height) itd. Jak chcesz zmienić jakąś właściwość pola tekstowego to piszesz w taki sposób jak Ci pokazałem, np:
a_txt._width = 500;
ustawi Ci szerokość pola tekstowego "a_txt" na 500 px. Identycznie jest z właściwośćią text. Przechowuje ona zawartość pola tekstowego. Jak więc coś przypiszesz do tej właściwości (a_txt.text = "literki") to zostanie to w tym polu wyświetlone. W taki sam sposób możesz pobierać właściwości z pola tekstowego (np: zmienna = a_txt.text).
2.
Math to klasa do obliczeń matematycznych. Wywołując Math.sqrt wywołujesz metodę sqrt (pierwiastek kwadratowy).
3.
Nazwy możesz zmieniać jak chcesz. Tylko musisz pamiętać, że jak zmienisz nazwę komponentu na scenie to musisz zmienić ją w kodzie. Przyrostek "_txt" to nie jest rzecz konieczna, jednak polecana. W ten sposób patrząc na kod wiesz z czym masz do czynienia (np. dla movie clipów daje się przyrostek "_mc").
Jeśli chcesz więcej poczytać np. o klasie Math to skorzystaj z pomocy flasha (najedź na słowo Math w kodzie i wciśnij F1). Niestety wszystko jest po angielsku, po polsku raczej ciężko o takie rzeczy, chyba, że jakiś podręcznik.
#5
Napisano 16 04 2008 - 15:26
ok dzięx!!
#6
Napisano 18 04 2008 - 16:45
trym mam taki problem! wynik nie pojawia mi się w polu c_txt i nie wiem czy skrypt działą czym to jest spowodowane (skopiowałem twoja formułkę)!
a jeszcze jedno: co oznacza zapis " var a:Number = 0; " ???
a jeszcze jedno: co oznacza zapis " var a:Number = 0; " ???
#7
Napisano 18 04 2008 - 22:46
hm to wszystko piszecie w Adobe Flash'u ? <strasznie drogi program ... jest jakis darmowy alternatywny, jak linux dla windowsa?> Z góry dzieki za odp. Pozdrawiam
#8
Napisano 19 04 2008 - 11:26
Znaczy ja wszystko we Flashu robie, a czy istnieje jakaś alternatywa to nie mam pojęcia!
Wracając do mojego problemu: czy wie ktoś czemu to nie chce działać ??? :excl:
Wracając do mojego problemu: czy wie ktoś czemu to nie chce działać ??? :excl:
#9
Napisano 21 04 2008 - 12:40
hm to wszystko piszecie w Adobe Flash'u ? <strasznie drogi program ... jest jakis darmowy alternatywny, jak linux dla windowsa?> Z góry dzieki za odp. Pozdrawiam
Nie ma darmowego odpowiednika. Są jedynie programy oferujące część funcjonalności, np. kod można pisać za pomocą Mtasc (ale nie wiem czy da się go pod tym skompilować). Istieje jeszcze bilbioteka do PHP, która pozwala tworzyć proste obiekty flashowe, ale jest to mało pomocne rozwiązanie, jeśli chce się coś poważnego we flashu zrobić.
#10
Napisano 03 05 2008 - 17:06
Z poziomu designera płatnym odpowiednikiem może być WPF/E aka Silverlight. W fazie rozwojowej niestety. Do tworzenia spod Linuxa za to opensource-owy Moonlight.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych