Gdy nie czujesz się dobrze w posługiwaniu się językiem obcym
 Oceń wpis
   

...zwłaszcza pisanym, a bardzo chcesz podzielić się swoimi treściami z użytkownikami internetu w innych krajach - zawsze mam ten problem: chcę podzielić się z innymi swoimi treściami, jednak nie czuję się zbyt dobrze w posługiwaniu się językiem obcym i zdaję sobie sprawę z niedoskonałosci swojego tłumaczenia - co mam wtedy robić ?

GoogleTranslate LogoZ pomocą przychodzi wtedy GoogleTranslate. Właśnie przed chiwlą skończyłem uzupełnianie swojego bloga o następną opcję - bardzo przydatną w momencie, gdy ktoś znajdzie Twoją stronę w wyszukiwarce.

Dodanie okna tłumaczenia do własnej strony jest trywialnie proste. Po prostu wchodzisz na stronę Centrum pomocy GoogleTranslate i klikasz w element "Jak włączyć Web Element na mojej stronie?", następnie przechodzisz do wymienionego tam kreatora konfiguracji elementu a tam za pomocą "ustawień opcjonalnych" wybierasz postać okienka/paska tłumaczenia. Po skonfigurowaniu modułu (ja jeszcze dodałem swój identyfikator GoogleAnalytics) wystarczy skopiować do schowka wygenerowany automatycznie kod i wkleić do kodu swojej strony.

 W przypadku bbloga wklejenia kodu dokonujemy w sekcji Konfiguracja modułów -> Treść użytkownika (np. kod facebook) gdzie w okienku "Treści użytkownika" przełączamy się w widok kodu przyciskiem "Źródło dokumentu" , po czym klikamy w ikonę "wklej". To wystarczy aby móc się cieszyć linkiem tłumaczenia bezpośrednio na swoim blogu.

Komentarze (2)
Jak przekazywać dane w MVC zbudowanym we flashu ?
 Oceń wpis
   

To bardziej prośba o rozważenie, niż pytanie :)

Tak siedzę przy tym całym "dobrodziejstwie" w postaci tysiąca linków, wskazówek, artykułów, książek - to za dużo na moją małą głowę :). Nasuwa mi się przy tym pytanie jak wyżej. Pytanie - zagadnienie.

Wielu z nas używa dziedziczenia po MC. Ja wolę stosować klasy z przekazaniem argumentu. W końcu to MC ma być dla klasy, a nie klasa dla MC (ok, to może być sporne, ale przyjmijmy, że mówimy o klasie typu manager).

Model, kontroler - singletony, rejestrowanie jak ? gdzie ? Przejmujemy wszystko tak jak leci z javy, czy mamy jakieś konstrukcje bardziej odpowiadające specyfice as2 (as3 to już całkiem inne podwórko, przyznaję - choć zasady podobne) ?

Flash jest nietypowy pod tym względem, bo przecież jeżeli używamy classmanagera przypiętego do klipa w bibliotece, to de facto zaczynamy od View, które normalnie w OOP powinno być skutkiem, a nie przyczyną...

Poza tym View flashowy też nie jest całkiem tak typowy - w odróżnieniu od javowego, jest interaktywny - działamy przecież na hitach, klipach z obsługą zdarzeń, timelinie...

Myślę, że to byłby bardzo dobry temat na flashowe spotkanie offline (Flash After Party).

Mam nadzieję, że z tego pytania wywiąże się jakaś fajna dyskusja na flabie.

//EDIT niestety, z dyskusji nic nie wynikło, Panowie Devowie mają klapki na oczach wyłącznie na frejmłorki - a szkoda...

Komentarze (3)
Uwaga dla zmiennych prywatnych
 Oceń wpis
   

Zmienne prywatne - to te, których wartość ustalamy po stworzeniu nowej instancji (wywołaniu konstruktora) klasy.

O tym już było kilkakrotnie i na flabie, i na różnych blogach:

class Foo {

private var foofoo:String = String("coś");

public function foobutton (_MC:MovieClip) {

//ta metoda będzie potrzebna nam później

trace("to jest onrelease buttona "+_MC+", czy teraz jesteśmy w buttonie ? "+(_MC==this));

trace("Widzisz, że nie widzisz: " + foofoo);

}

public function Foo () {

trace("a teraz właściwość prywatna działa jak statyczna: " + foofoo);

}

}

^ tak zdefiniowana właściwość dopóki jej nie zdefiniujemy/nadpiszemy w metodach instancji, będzie funkcjonowała jak zmienna statyczna.

Ale nie o to mi teraz chodzi. Kiedyś znajomy na gg napisał mi, że w zasadzie po wyjściu z edytora (po skompilowaniu swfa) nie ma znaczenia, czy zmienne są prywatne, czy publiczne - do każdej można się odnieść bezpośrednio poprzez this.foofoo. Nieprawda. Właśnie się przekonałem, że w runtime maszyna wirtualna "pamięta", które są publiczne, a które prywatne.

Jak się przekonałem ? W prosty sposób:

//kod w klatce

import Foo;

import Delegate2;//Delegate2 pozwala na przekazywanie zmiennych - np. kod delegate z mojego bloga (choć polecam wyguglać delegate2)

var myButton:MovieClip;

var foonstance = new Foo();

myButton.onRelease = Delegate.create(foonstance, foonstance.foobutton, myButton);

myButton.onRelease();

wystarczy zmienić private na public właściwości foofoo, by jej wartość pojawiła się w output zamiast undefined.

Komentarze (0)
[as2]Singleton: czy konstruktor musi być prywatny ?
 Oceń wpis
   

Ha! Panowie FlashDeveloperzy! OOP nie kończy się tylko na standardzie ECMA :>

Tuż za rogiem maliboo głosi peany na cześć 10tego flashPlayera (żeby nie było, że "znowum przegapił" - czytaj: nie wspomniał), a ja męczę te OOP starając się wycisnąć każdą kropelkę - tfu, każdą literkę - z ust moich rozmówców.

Skończyłem właśnie rozmowę ze znajomym (nie chce się podlinkować skubany, no!), który nie jest nikim szczególnym - ot, pisze doktorat z informatyki :]. O co sprawa poszła ? Bo w końcu co osoba pracująca na całkiem innej platformie (nie wiem, czy to był .net z pythonem, czy .python przez .net - wthw ?) może powiedzieć "flashowcowi" ?

Otóż rozmawialiśmy sobie o wzorcach (czego mi jeszcze brakuje :]). Oczywiście nie można było nie wspomnieć o singletonie i o gromach, jakie zebrałem za "niezgodne ze wzorcem" zmodyfikowanie klasy, które to jak się wydaje, poleciały na mnie całkiem niesłusznie.

Ci, którzy starają się trawić OOP już w trzeciej wersji Action scriptu (as3.0) wiedzą, że nie ma tam konstruktorów prywatnych. I uważają to za ciężką przeszkodę.

Mając problem z niekończącą się pętlą przy StageResizerze pomimo zabezpieczenia singletonem nie wpadłbym na to, że takie rozwiązanie będzie podstawą "wykładu" mojego znajomego.

Otóż: programiści dzielą się na programistów różnych poziomów. Jedni zajmują się programowaniam strukturalnym, inni programowaniem poziomu aplikacji. Jego zdanie jest takie, że propgramistów aplikacji wogóle nie powinno obchodzić, czy klasa, którą będą używać, będzie singletonem, czy wielokrotną. Co oznacza, że wywołanie sinlgetona powinno się odbywać tak samo, jak wywołanie "zwykłej" klasy...

Zapewne mi nie wybaczy, jak powiem, że połowy z tego, co mówił (pisał) nie zrozumiałem, ale żeby zrozumieć ocb skoczyłem po rozum do głowy, a tam czytam:

Mający wpływ na rozwój języka Python, pracujący obecnie dla Google Alex Martelli, członek Python Software Foundation, twierdzi, że języki obiektowe tak naprawdę nie potrzebują Singletonu. Twierdzi on, że jak długo będziemy dbać o to, by współdzieliły pewien abstrakcyjny stan, tak naprawdę spełniamy warunek, (potrzebny do tego by jeśli zaistnieje taka potrzeba) ażeby ów stan był unikatowy. Kontrolowanie by liczba instancji danej klasy była najwyżej równa jeden, jest tylko jednym ze sposobów (cytat za: wikipedia, wzorzec singletonu)no i git. Mi się to też wydaje jak najbardziej logiczne.

Komentarze (0)
StageResizerProject
 Oceń wpis
   

Ok, pierw dwa słowa dla czytających mojego bloga: dziękuję za wszystkie sugestie. Jesteście super :D (te trolle też, tylko że w drugą stronę :p)

StageResizerProjekt (SR)

Założenia: SR ma maksymalnie ułatwić rozłożenie elementów na scenie, a także dopisywanie własnych metod ułożenia skalowania.

Powód:  nużące wielokrotne używanie obiektów do obsługi zdarzenia onresize i za każdym razem pisanie/importowanie odrębnych klas/metod.

Działanie: SR pozwala za pomocą jednej linijki obsłużyć zmianę położenia elementu na scenie podczas zmiany jej wielkości (onresize).

Skutek: więcej czasu, który można efektywnie użyć na zajmowanie się właściwym kodowaniem.

Przydatność: Wielokrotne wykorzystanie bez potrzeby modyfikacji projektu. Osadzone w projekcie metody/klasy zarządzające słuchaczem pozwalają na obsługę 99% potrzebnych pozycji na scenie.

Zgodność z przyzwyczajeniami: obsługa wywołań alfanumerycznych takich samych jak dla Stage.align, Stage.scaleMode z zastosowaniem dla obiektów - przykładowe przyjmowane wartości: dla align: "TL", "C", "BL"; dla scale: "exactFit", "noScale", "proportional" itp..

Modyfikacja własna, rozszerzanie itp: niepotrzebne - dodawanie własnych metod poprzez przygotowaną odpowiednią publiczną metodę interfejsu pozwala na podpinanie ich do obsługi słuchaczy bez konieczności żmudnego zagłębiania się w kod projektu.

Kod: wkrótce :)

Komentarze (0)

Najnowsze komentarze
2014-01-06 19:33
najlepszeprezenty.com.pl:
Flash After Party czyli o flashu w realu [EDIT]
pozdrowienia :)
2013-12-25 22:07
Powiększanie penisa:
Warto blogować ?
Trudno się z tym nie zgodzić, przez to, że są bardzo ogólne to także są bardzo trafne.
2013-12-08 22:47
ets2:
Warto blogować ?
Wartościowych blogów jest na naprawdę mało, sam staram się coś stworzyć a czy wyjdzie to się[...]
O mnie
MaW: flash, gry i cała reszta
Po prostu flashmaniak.