Jest to chyba rzecz najbardziej podstawowa podczas tworzenia jakiejkolwiek gry. Problem w tym, że MonoGame nie udostępnia nam czegoś takiego jak najprostsze przyciski. W takim razie jak rozwiązać problem z MENU w grze? Jeżeli chcesz dowiedzieć się jak ja rozwiązałem ten problem, czytaj dalej ;)
Dzisiaj zajmiemy się podstawami tego jak zbudowany jest kod gry pisanej przy użyciu MonoGame. Jeżeli chcesz dowiedzieć się czym w ogóle jest MonoGame, zapraszam do przeczytania poprzedniego wpisu. Zakładam, że czytając dalej masz już zainstalowane MonoGame i możesz przystąpić do stworzenia nowego pustego projektu. Jeżeli tak to zaczynamy! Na początku stwórzmy sobie pusty projekt „MonoGame Cross Platform Desktop Project”. Generalnie rzecz biorąc można równie dobrze stworzyć projekt dedykowany na Windowsa...
TL;DR: - Ludzie, ludzie, zwariowałem! Każdy szczęściu dopomoże, każdy dzisiaj wygrać może! Do wygrania wejściówka na konferencję DevDay o wartości 650 PLN. O zasadach konkursu na końcu wpisu. Zapraszam!
Najprawdopodobniej spotkałeś się z tym problemem: Kod zastany, napisany przez nas lub nie, na pewno nie perfekcyjny i ostatecznie bez testów jednostkowych (ang. legacy code). Co teraz? Wstrzymać dotychczasowe prace nad projektem i pisać testy jednostkowe? A może całkowicie zaniechać pisania testów, bo skoro nigdy nie było testów, to po co pisać je teraz? Do tej pory omawialiśmy TDD z perspektywy pisania...
Sztuka programowania 3034 dni, 13 minut temu 224 źrodło rozwiń
Wzorzec MVVM, co prawda wiele rzeczy ułatwia i porządkuje. Jednak potrafi sprawić też masę problemów. Pisząc swoją pierwszą aplikację, z użyciem tego wzorca natknąłem się na sporą ich ilość. Jednym z nich było przechwytywanie zdarzenia zamykania głównego okna aplikacji, w celu zapisania wprowadzonych zmian. Drugim problemem było zamknięcie innego okna – potomnego, które miało wyświetlać się na czas ładowania pliku, a później znikać. W przypadku code-behind zadania te są banalnie proste. Mamy zdarzenie za...
Have you heard about accessibility? Do you know what that is? Do you know what it takes to make your website accessible? Making your website accessible, means providing ability for everyone, regardless of disability or special needs, to use it. Unfortunately if you put together all accessibility specifications and print it, the stack will be higher than CN Tower in Toronto...
Many of us, and I’m not speaking just about folks within the IT industry, sometimes have this feeling about the missed opportunity. It might be related to the job, some project or anything else that somehow we didn’t manage to accomplish due to some specific reasons (maybe just a bad luck or even the laziness). However, sometimes missing a particular opportunity doesn’t mean that the world has come to an end, actually, it might turn into something even better and unexpected.
Reading time ~2 minutes This is the third part of a series discussing job scheduling and Hangfire details:part 1 - Why schedule and procrastinate jobs?part 2 - Overview of Hangfiepart 3 - Scheduling and Queuing jobs in Hangfirepart 4 - Dashboard, retries and job cancellation This part will focus on the basic scheduling API of Hangfire. The easiest way to create a fire and forget job is by using the classHangfire.BackgroundJob and its minimalistic (and this is a complement) API of static functions:Enqu...
Architektura 3035 dni, 11 godzin, 55 minut temu 99 źrodło rozwiń
Dzień dobry bardzo! Trochę czasu minęło od publikacji ostatniego odcinka podcastu, ale mam nadzieję, że dzisiejsza rozmowa odkupi me grzechy 😉 Moim gościem był Paweł Łukasik – programista, blogger, lider Wrocławskiej grupy .NET oraz założyciel znanego i lubianego agreagtu treści – dotnetomaniak.pl. Dzisiejszy odcinek jest dość szczególny, ponieważ w końcu tematyka jest ściśle powiązana z .NET-tem. Paweł opowiedział o Intermediate Language. Czym jest IL? Co możemy dzięki niemu osiągnąć? Jakie narzędzia...
Sztuka programowania 3035 dni, 11 godzin, 55 minut temu 152 źrodło rozwiń
Dzisiaj będzie trochę o wzorcach projektowych. Mianowicie o MVVM, który zaleca się stosować w przypadku projektów opartych na WPF. Przyznam się szczerze, że zanim zrozumiałem zasadę działania tego wzorca i jego implementację minęło trochę czasu… Jednak po kilku podejściach w końcu się udało i mogę śmiało pisać w MVVM ;). Zaznaczam jednak, że pisanie kodu zgodnie z tym wzorcem, czasami może nie być łatwe i niektóre problemy mogą prosić się o rozwiązanie ich standardowo w code-behind. Ja na przykład siedzi...
It’s been a while since I wrote a JavaScript article, so here it is! Today we are going to reveal one of the biggest front-end mystery. How does async work in JavaScript? The question might seem quite obvious, but believe me that many developers think that it’s because of multi-threading. Well, here is the thing. Async does not require more than one thread. If you don’t believe me click here to confirm that. Ok, fine, let’s say that we need multi-threading to do async. But here comes the thing that confu...
Description of my journey in search of good documentation. Main documentation principles with examples
Sztuka programowania 3036 dni, 23 godziny, 16 minut temu 60 źrodło rozwiń
Dziś będzie bardzo nietypowo jak na mnie, bo o tym co jest ważne w życiu. My Informatycy, tak wiem że to takie ogólne sformułowanie, lubimy zwięzłość. Kod zero-jedynkowy to to co do nas najlepiej przemawia. Czasami jednak stajemy przed problemem gdzie cała nasza wiedza technologiczna czy umiejętność zarządzania projektami (itp) stają się bezużyteczne…
Do you know the trees used in Cassandra, Git, Bitcoin or Lucene? Check this post to find interesting trees, usually not covered on Computer Science lectures.
Sztuka programowania 3037 dni, 23 godziny, 15 minut temu 116 źrodło rozwiń
Czasami zachodzi potrzeba stworzenia aplikacji okienkowej z oknem konsoli w tle. Może ona służyć np. do łatwiejszego śledzenia poczynań programu, co w rezultacie pozwala na łatwiejsze znajdowanie błędów w kodzie. Po stworzeniu pustego projektu WPF App i jego kompilacji domyślnie konsola nie jest wyświetlana. Można jednak temu zaradzić. Wpis opisuje sposób rozwiązania tego problemu w Visual Studio, jednak w innych IDE też powinien działać. Pierwszą rzeczą jaką należy zrobić, jest utworzenie nowego pusteg...
Sztuka programowania 3037 dni, 23 godziny, 15 minut temu 204 źrodło rozwiń
How to... Samorozwój, bo przecież nikt tego za Ciebie nie zrobi. Oczywiście tak krótko jak potrafiłem. Oczywiście tyle własne go zdania ile mogłem wcisnąć. Za to wszystko klarownie i z linkami. Jak się uczę? Tak!
Każdy czegoś nie lubi, ja na przykład nie lubię gdy ktoś siada na moim krześle, a potem ja muszę na nim usiąść, fuj – takie ciepłe, zawsze chwilę odczekuje. Albo NULL – to ciągłe sprawdzanie czy zmienna nie jest nullem, a potem jeszcze specjalna obsługa tu i tam i jeszcze tam, a potem tam i tam niosą, się ify po całym projekcie, albo wyjątki – BLEHSposób Na szczęście na jedno i drugie jest sposób; każdemu mówię, że na moim krześle się nie siada i głośno warczę gdy ktoś łam...
Architektura 3039 dni, 19 godzin, 26 minut temu 348 źrodło rozwiń
Jak pisałem poprzednio o problemie braku milisekund w dacie. Wspomniałem o tym, że tabele posiadają kolumnę informującą o ostatniej zmianie, która nastąpiła na rekordzie. Można się domyślić, że ręczne ustawianie tej wartości było by mozolne oraz podatne na błędy ( w szczególności – zapomnienie o wstawieniu nowej wartości)
Bazy danych i XML 3041 dni, 23 godziny, 50 minut temu 161 źrodło rozwiń
Na swoich stronach często udostępniamy możliwość dodawania komentarzy, bo chcielibyśmy by nasza aplikacja/witryna jak najlepiej spełniała oczekiwania naszych użytkowników. W jaki sposób możemy wyłapać komentarze o dobrym/złym wydźwięku by wiedzieć jak modyfikować naszą aplikację? Przecież nie będziemy czytali wszystkich komentarzy, jeżeli ich liczba idzie w setki/tysiące.. właśnie o tym jest tenże post. Zachęcam do lektury :)
Last week I had a pleasure to attend and present the Azure Portal insights at the Visual Studio Live conference in Redmond. Throughout the conference, 5 sessions were being presented simultaneously, and 1 session was being streamed live. My session was chosen to be streamed live, and is now available on channel9!