Skocz do zawartości

Exigo

Użytkownicy
  • Postów

    1 165
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez Exigo

  1. Robiąc grafę dla Platyny, równolegle ją wykorzystuje dla siebie, pisząc match 3. ; D (jest więcej stuffu (nie tylko klejnoty), ale nie miałem okazji jeszcze tego odpowiednio zaimplementować). Ogólnie chyba pierwszy raz kiedy wykorzystuję tablet do "techniki tradycyjnego 2d". Dobrze jest. ; )

     

    match3_sample_v3.jpg

  2. Mamy siatkę / planszę (prostokąt), przykładowo o rozmiarze x na y, oraz n-ilość obiektów (nie koniecznie wszystkie sloty siatki są przez nie zajęte), które posiadają po 3 informacje:

    - przynależność do slotu w siatce x,

    - ...w y,

    - oraz typ elementu (np. 0, 1, 2, 3, etc.)

    Teraz powiedzcie mi, jak zwrócić informacje, czy w "siatce" (i gdzie), występują ciągi takich samych elementów. Coś jak <dosłownie> z gry typu match 3.

    Jakieś pomysły? ^^

     

    (siatka w pewnym sensie nie istnieje: pojęcie zostało użyte żeby zobrazować sposób położenia elementów)

  3. Mam swojego HTC Wildfire S (android .v 2.3.3), na którym nie mogę słuchać muzyki. Jakiś czas temu zablokowała mi się tzw. głośność multimediów odpowiedzialna za tego typu rzeczy (nie wiem jak to się stało, jestem tylko człowiekiem). Przyciski zewnętrzne (w trakcie odpalonego utworu) nie reagują - dopiero jak zatrzymam odtwarzanie, jest opcja zmiany głośności <nie multimediów ale> "globalnej". Odpalając ręcznie ustawienia w telefonie dotyczące głośności, mogę operować suwakiem, jednak akceptując, wychodząc, i wchodząc ponownie wspomniany suwak jest wyzerowany. Wszystkie profile dźwiękowe bezpośrednio związane z widgetami sprawdzałem. Dafuq? Opadają mi ręce. ; )

  4. GML
    draw_primitive_begin_texture(pr_trianglestrip, sprite_get_texture(sprite0, 0));

    draw_vertex(0, 0, 0, 0);

    draw_vertex(32, 0, 1, 0);

    draw_vertex(0, 32, 0, 1);

    draw_vertex(32, 32, 1, 1);

    draw_primitive_end();

    Pozmieniaj wartości, obserwuj efekty.

     

    @Edit: @Up: Ah ty!

  5. Są zęby, więc aż 1884 trisy. I na tym koniec. Oczy zrobiłem, ale potem wywaliłem bo jednak psują charakter postaci, a ta przestaje być wtedy taka mrrroczna. ; p

    ork_showcase.jpg

    @Wojzax & inni: Więcej perspektyw oraz siatka pod tym linkiem. Filmika nie będę robił, bo nie ten net. ; ) https://gmclan.org/uploader/3290/ork_wiecej_info.jpg

    @Shil: Cały post, czyli Sharpen, Bloom, DOF, AO, oraz tzw. Chromatic Aberration (wydaje mi się że o tej poświacie mówisz. Osoby noszące okulary z anty-refleksem mają taki efekt "realtime" i nie potrzeba do tego karty graficznej ;D ).

     

     

    Edit:

    https://gmclan.org/uploader/3290/ork_z_helmem.jpg

  6. Dawno nic nie wrzucałem. Ten wyschnięty wampir powinien mieć jeszcze zęby i oczy, ale muszę się z nimi uporać. ;)

    (A bardziej technicznie to: 1432 trisy, 3x tekstury po 512x512 (diffuse, spec, normal). Zbrush, Softimage XSI, Topogun i xNormal. Screenshot realtime z Marmoseta.)

    orkefekt.jpg

  7. Nie masz przypadkiem za długiego kabla od myszki? Często to jest wina tak dużego opóźnienia. Ewentualnie może na jakimś odcinku ci się poskręcał/zrobił supeł, i zamula.

  8. Zamysł jest taki, żeby współrzędne punktów trójkąta były uporządkowane wedle wskazówek zegara. Wydaje mi się że najprościej będzie sprawdzić czy ciąg jest "nie-uporządkowany", i jeśli warunek zostanie spełniony, zamienić pozycjami jakiekolwiek wierzchołki.

    Problemem jest opracowanie sprawdzania kolejności. Ma ktoś jakiś pomysł? Bo ja nie. ^^

    (współrzędne w dwóch wymiarach)

     

    @Edit:

    Dobra, rozkminiłem. (parzyste komórki to X, nieparzyste Y, na "i" nie zwracać uwagi (pierwszy wymiar tablicy))

    GML
    _da = point_direction(trip[i, 0], trip[i, 1], trip[i, 2], trip[i, 3]);

    _db = point_direction(trip[i, 2], trip[i, 3], trip[i, 4], trip[i, 5]);

    _a = ((((_da - _db) mod 360) + 360 + 180) mod 360) - 180;

    if (_a < 0) {

    show_message('switch!');

    _x = trip[i, 0];

    _y = trip[i, 1];

    trip[i, 0] = trip[i, 2];

    trip[i, 1] = trip[i, 3];

    trip[i, 2] = _x;

    trip[i, 3] = _y;

    }

  9. Dobre propa. Czy to dobrze oznacza, jeśli skojarzyło mi się z metro? ; )

    ---

    Na dobrą sprawę można by zrobić z tego grę społecznościową, czy coś w tym stylu. ^^

    lotoffun.jpg

    (btw. dużo zmian i poprawek weszło (na lepsze), żeby nie było że już mi się znudził projekt)

  10. Może mi ktoś powiedzieć, czemu jeśli chcę odwołać się do surface zapisanego w tymczasowym obiekcie, wywala mi "nieznany błąd" albo w ogóle crashuje?

    Tak wygląda "dodawanie_obiektu":

    (przed tym wszystkim obiekt jest deklarowany obiekt_swiatlo = object_add(); ).

    GML
    _i = instance_create(0, 0, obiekt_swiatlo);

    _i.rozmiar = argument0;

    _i.surf = surface_create(_i.rozmiar * 2, _i.rozmiar * 2);

    surface_set_target(_i.surf);

    draw_clear(c_white);

    surface_reset_target();

    return _i;

    Samo stworzenie surface nie boli. Dopiero jak targetuję, to "Unexpected error (...)".

     

     

    Edit: Z drugiej strony było by super, jakby ktoś zrobił test na swoim kompie, bo nie wykluczam opcji problemów ze swoim sprzętem. ^^

  11. @Anty,

    Tru.

     

    Btw. mam nadzieje że cieszycie się razem ze mną.

    powielanie_graczy.jpg

    Napisałem obsługę wielu postaci. Oznacza to że można już zacząć kodzić kod sieciowy. ^^

     

    Poza tym zmieniłem trochę kod huda. Od teraz rysuje na vertexach, i przemnażając przez sinusa uzyskuje się całkiem wyglądające "zaginanie". Jest jeszcze dodana własna obsługa particles. ; )

  12. Mam przykładowo taką funkcję, "dodaj_obiekt":

    GML
    _i = instance_create(0, 0, obiekt);

    _i.x = 123;

    _i.y = 123

    _i.asd = 0;

    Obiekt ten jest pusty. Służy tylko do trzymania danych. Używam jej wielokrotnie.

     

    Teraz moim celem jest dostanie się do indeksów które zwrócą mi te "obiekty". Można by przy tworzeniu zrobić jakiś stos/tablicę, i trzymać to pod ręką. Ale chciałbym zrobić to (zakładam, jeśli jest to możliwe) w prostszy sposób. Tak więc: skąd mogę pobrać indeksy do wszystkich "obiektów"? (np. jak zdobyć tą wartość "asd")

  13. Blur uzyskasz w łatwy sposób wielokrotnie przekazując obraz pomiędzy dwoma surfaces (zmniejszasz, wysyłasz do jednego, zwiększasz, wysyłasz do drugiego, i tak iterujesz parę razy). Oczywiście musisz mieć przedtem włączoną interpolację.

×
×
  • Dodaj nową pozycję...