Skocz do zawartości

Madness

Użytkownicy
  • Postów

    551
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez Madness

  1. Chciałbyś stworzyć film animowany, ale rysowany ręcznie czy korzystający z animacji szkieletowej ?

    Do ręcznie rysowanych animacji z darmowych programów moge polecić FireAlpace, Krite, GIMP'a, Blender (wbrew pozorom, również do 2d + animacja szkieletowa).

    Z płatnych Flash, Toon Boom, Photoshop.

    Do animacji szkieletowej, głównie do gier no ale mógłbyś go jakoś wykorzystać: Spriter.

    Znam ogólny proces, choć nie wiem czy Ci to pomoże:

    Co do rozpoczęcia, mangacy rozpoczynają od imienia, to taki bardzo słabo narysowany rozdział mangi który ma tylko przedstawić perspektywe i emocje postaci z dialogami, panele jakich zamierzają użyć itp. dopiero potem zabierają się za rysowanie prawdziwych stron.

    Dla ciebie mógłby być to taki story board, czyli komiks przedstawiający to co sobie wyobraziłeś.

    Animatorzy, zwykle zaczynają od poklatkowych line art'ów, czyli animacje które się "tną" i nie są pomalowane, przedstawiają wszystko za pomocą linii, jeśli animatorzy są zadowoleni z line artu, zaczynają dorabiać kolejne klatki dla płynności animacji (nadal line artowe).

    Ostatecznie jeśli są zadowoleni ze sceny którą utworzyli, dorabiają detale, kolorują. I tak scena po scenie.

    W line artach dobrze jest użyć kilku kolorów linii, po to żebyś mógł odróżnić który pixel do czego należy w razie nakładania się na siebie obiektów.

     

    Tutaj przykład takiego line artu bez detali, warto by było coś dodać np. oczy itd. no ale widać że koń idzie w prawo względem widza.

    http://orig12.deviantart.net/ac81/f/2014/2...977-d81q98l.gif

     

    Z takim line artem już wiesz czy koń chodzi jakby był zmęczony, czy biegnie, w którą strone zmierza. Reszta to dorysowanie klatek pomiędzy już stworzonymi dla płynności animacji, pokolorowanie i dodanie detali. Z pewnością jak poszukasz, znajdziesz więcej informacji na temat tworzenia animacji, z tego co wiem disney pokazywał proces, gintama, naruto i nie oni jedyni.

  2. Jak ty chcesz wyświetlić napis w odpowiednim miejscu, nie podając współrzędnych bo nie za bardzo rozumiem?

    Chyba że chodzi Ci o to, żeby zachować wartość tej zmiennej i te współrzędne podać funkcji tekst z całym napisem tylko raz, a cyfra niech się zmienia. W takim przypadku jeśli dobrze pamiętam GM ma dla obiektów taką opcje, dzięki której nie są usuwane z pamięci (Persistent?), jeśli to nadal istnieje to otwórz ten obiekt który rysuje napis i zaznacz tą opcje. Dane o obiekcie nie znikną, zmienna będzie miała tą samą wartość nawet po zmianie pokoju. W draw powinieneś użyć funkcji draw_text/_ext i w argumencie w którym podajesz napis podać "Czas:"+skonwertowana_do_tekstu_zmienna. Jeśli chcesz zatrzymać naliczanie czasu, zaopatrz się w instukcje if.

    GML
    //Create

    countTime = true;

     

    //Step

    if(countTime == true)

    global.czas += 1/room_speed;

     

    // i przed zmianą pokoju po prostu

    countTime = false;

  3. Historia gier w sensie wikipedia, czy posciagac gotowe gry i popatrzyc jak wygladaja kody?

     

    Znajde moze na forum jakis poradnik typu "od zera do mistrza programera"?

     

    O wlasnie panowie, o cos takiego mi dokladnie chodzilo, nie pomyslalem o youtubach..

     

    Historia gier, w sensie spójrz jak wyglądały gry na NESa, Gameboya, Amige czy inne urządzenia i spróbuj napisać podobną, albo identyczną.

     

    Zacznij od języka, jeśli nie zrozumiesz mechanizmów jakimi rządzi się język, to daleko to nie zajedziesz. Poczytaj o zdarzeniach w Game Makerze.

    Dowiedz się, czym jest funkcja, zmienna, obiekt, algorytm, tryb warunkowy, pętla, typy zmiennych.

    https://gmclan.org/index.php?czytajart=34

    Oczywiście nauka języka wraz z przerabianiem prostych tutoriali będzie fajniejsza. Ale rób przy tym testy, zmieniaj wartości zmiennych, eksperymentuj, wtedy najwięcej zrozumiesz. Przeczytaj artykuły z tej strony, możliwe że gdzieś w internecie są też lepsze, ale te na początek starczą. Jeśli nauczysz się podstaw języka, nauczysz się wprowadzać obiekty w ruch i rysować ich tekstury, wykrywać kolizje oraz obsługiwać klawiature/mysz to nic nie stoi na przeszkodzie żeby napisać prostą gierke. Żeby stworzyć wymarzoną gre, trzeba doświadczenia i sporego nakładu pracy, programowanie gier nie jest prostym zadaniem więc zacznij od czegoś prymitywnego. Z czasem wyrobisz sobie odpowiedni sposób myślenia i nie będziesz miał problemu z tworzeniem bardziej zaawansowanych algorytmów i gier. Staraj się robić jak najwięcej sam, jak czegoś nie wiesz, daj sobie czas, pomyśl. Jak się nie uda, stwierdzisz że nie masz odpowiedniej wiedzy to dopiero szukaj gdzieś pomocy. I nie radze kopiować bezmyślnie czyjegoś kodu, niektórzy tak robią i nic z tego nie wynoszą. Jeśli już, to go postaraj się go zrozumieć, jeśli Ci się to uda to co stoi na przeszkodzie, żeby napisać własny i przyswoić zdobytą wiedze? I nie mówie, z kopiowania czyjegoś kodu możesz coś wynieść, ale tylko jeśli coś od siebie do niego dołożysz, albo będziesz go edytował żeby zobaczyć jak działa. To też nie jest złym pomysłem, ale nie kopiuj bezmyślnie.

    Jeśli chcesz kiedyś stworzyć gre marzeń, to pamiętaj że potrzebujesz też grafik, muzyki, efektów i wielu innych. Na pewno samemu nie będzie łatwo nad nią pracować, więc warto znaleźć kogoś kto Ci w tym pomoże.

     

    Powodzenia!

  4. Jeśli animacja się skończyła, ustawia się na klatke[0] więc przestaw ją z powrotem na klatke ostatnią, albo zwyczajnie wyczekuj jej w innym zdarzeniu niż "animation end" i wtedy ustaw image_speed = 0. O ile dobrze pamiętam, za numer klatki odpowiadała zmienna image_index :)

  5. Jeśli masz ochote pobawić się CefSharpem...

     

    MainWindow.cs

          public MainWindow()
          {
               InitializeComponent();
               Cef.Initialize(new CefSettings());
               ChromiumWebBrowser browser = new ChromiumWebBrowser();
               browser.Width = this.stckPanel.Width;
               browser.Height = this.stckPanel.Height;
               browser.Address = "http://google.pl";
               browser.IsEnabled = false;
               this.stckPanel.Children.Add(browser);
           }
    

     

    W MainWindow.xaml dodajesz jakiś kontener, np. StackPanel i dla tego przykładu dajesz mu atrybut Name="stckPanel", ogólnie rzecz biorąc jak już dodałeś nugetem paczke z CefSharpem to wystarczy dodać konfiguracje x86, nie dasz rady go kompilować w konfiguracji Any CPU.

    W tym celu, klikasz na ComboBox obok przycisku Start i uruchamiasz menadżera konfiguracji, edytujesz Debug i Release dodając nową platforme x86, zostawiasz kopiowanie ustawień z Any CPU i już nie powinno być problemu.

     

    11s1csi.jpg

     

    Jeśli chodzi o allownavigate, nie wiem czy dobrze zrozumiałem, chcesz zablokować możliwość klikania w linki etc. ale JS ma nadal działać?

    W takim razie, może chodzi Ci o coś w stylu IsEnabled? Z poziomu kodu nadal mógłbyś robić wszystko.

    Jeżeli chodzi Ci o to, żeby użytkownik nie mógł przejść do innej strony przy pomocy linku, to zakładam że da się kontrolować wartość adresu

  6. Process terminated with status 0 (0 minute(s), 1 second(s))

    0 error(s), 0 warning(s) (0 minute(s), 1 second(s))

    Nie wyświetla się, bo od razu zostaje zamknięta.

    Jakie biblioteki pobrałeś SJLJ, czy DW2 ? Jeśli DW2, to mają być SJLJ.

    Jak nie chcesz się z całością babrać, to stwórz nowy projekt>SFML>SFML 2.0>Static>Podajesz ścieżke do folderu głównego z sfml'em i kodzisz.

    Ew. jak tak bardzo chcesz się nauczyć dodawać lib'y do projektów, to zaraz po stworzeniu takiego projektu przepatrz Build options...

    Albo masz złe pliki, albo coś przeoczyłeś.

  7. Najprostszym sposobem byłoby chyba obliczenie wektora, który ma prowadzić do celu (np. gracza) i zamienić jego zwrot.

    Krótko mówiąc odwrotne move_towards_point(...), czy jak się tam ta funkcja zwała.

    Potem sprawdzałbyś dystans, jeśli obiekt oddalił się na tyle od celu, że 'może czuć się swobodnie' to niech sobie chodzi randomowo.

    Znaczy to tyle, że musiałbyś stworzyć sobie stany, które mówią czy obiekt ma się randomowo poruszać, czy też uciekać od celu/gonić cel.

    Jeśli ten obiekt podczas uciekania miałby omijać przeszkody to już inna bajka, choć z tego co mi wiadomo GM oferuje kilka funkcji, dzięki którym zwykle nie trzeba się bawić w pathfinding.

  8. gdyby nie twarz to na kartce w kratkę ołówkiem by było git, ale jak już bawisz się w tablet czy coś w tym rodzaju to włóż w pracę więcej czasu*, po prostu nie śpiesz się, daj sobie czas na poprawki.

    * - to nie jest hejt.

     

    E: +nieproporcjonalny bark :D

    Będe musiał się zaprzeć :) . Lubie rysować, ale szybko się zrażam jak mi coś nie wychodzi, następnym razem będe rysował jakąś panienke, może wtedy się uda. :P

  9. Co do uniezależnienia prędkości obiektu od ilości klatek, to chyba można skorzystać np. z takiego czegoś:

    boost = maksymalna_ilość_klatek/aktualną_ilość_klatek

    A potem np. hspeed = prędkość*boost.

    Wydaje mi się, że to da rade.

    Przykładowo:

    maxFPS - 60, ilość FPS - 60, prędkość - 3

    prędkość = 3*(60/60)

    prędkość = 3

    ---------------------------

    maxFPS - 60, ilość FPS - 30, prędkość - 3

    prędkość = 3*(60/30)

    prędkość = 6

    Myśle, że to wystarczy.

     

    EDIT: Ale widze, że YXE już wstawił wersje standardową.

×
×
  • Dodaj nową pozycję...